[TaskChute]TogglのCSVをTaskChuteにインポート(前半)



1.転記のポイント


以前このブログの記事で「(転記の詳細をそのうち記事にしたいと思っています)」と書きました。今回はその転記の詳細の記事です。

前半後半に分け、前半でTogglからのCSVのエクスポート、秀丸とExcelのマクロを使った整形の手順を、後半でTaskChuteに転記する具体的な手順を書くつもりです。

TaskChuteに熟練している方は後半は不要かもしれません。むしろ、効率化できる箇所があれば教えていただけると喜びます。

転記のポイントは、これくらいでしょうか。
(1)TogglのプロジェクトとTaskChuteのProject、TogglのクライアントとTaskChuteのModeをそれぞれ合わせておく
(2)文字コードの変換が必要
(3)コピペしやすいように列を並び替える

では、早速手順に移ります。

2.TogglのCSVエクスポート


ホーム画面から、「レポート」→「Detailed report(詳細レポート)」→「エクスポート」→「CSV」と進むとCSVがダウンロードできます。
私の環境では、なぜか日本語だったり英語だったり、画面によってちぐはぐです。

ここでダウンロードしたCSVはエンコードが変なので、Excelでそのまま開くと文字化けしています。
次のステップでShift-JISに変更します。

3.エンコードの変更、保存


[マクロ]自動記録マクロ使っっていますか?で紹介したように、秀丸のマクロの自動記録機能を使って作ったマクロをベースに、少し手を加えて使っています。

(1)エンコードをShift-JISに変更
(2)クライアント名の置換
(3)上書き保存


冒頭の表示の更新抑止は、後から編集で追記した処理だったと記憶しています。無くても動作すると思います。

クライアント名の置換は、よく使うクライアント名がTogglで上の方に来るように、並び替え用の数字を頭に付加しているのを、ここで削除している処理です。
4つだけなので、正規表現とか考えずに個別に置換してしまっています。
クライアント名とTaskChuteのModeが一致している方は不要な処理です。

// 表示の更新抑止
disabledraw;

// エンコードをShiftJISに変更
setcompatiblemode 15;
setencode 0xc1, 1;


// togglクライアント名の置換
setcompatiblemode 0x0F;
begingroupundo;
replaceallfast "1-3・浪費・穀潰し" , "3・浪費・穀潰し" , nohilight;
if( ! result ) beep;
endgroupundo 1;
begingroupundo;
replaceallfast "2-1・消費・憂い" , "1・消費・憂い" , nohilight;
if( ! result ) beep;
endgroupundo 1;
begingroupundo;
replaceallfast "3-2・投資・備え" , "2・投資・備え" , nohilight;
if( ! result ) beep;
endgroupundo 1;
begingroupundo;
replaceallfast "4-4・空費・憂さ晴らし" , "4・空費・憂さ晴らし" , nohilight;
if( ! result ) beep;
endgroupundo 1;

saveexit;



秀丸でCSVを開いて上記のマクロを実行すれば、上記の処理が自動でなされますが、ドラッグアンドドロップで処理したいので、「エンコードをShiftJISに変更、上書.bat」というバッチファイルを作って、CSVをその上にドラッグアンドドロップすると処理が実行されるようにしています。

REM -----秀丸で開き、エンコードをShiftJISに変更、上書.MACを実行するバッチファイル-----
"C:\Program Files\Hidemaru\Hidemaru.exe" /xエンコードをShiftJISに変更、上書.MAC %1 %2 %3 %4 %5 %6 %7 %8 %9
REM -----------------ここまで------------------



webで調べながら見よう見まねで作ったbatファイルなので、パラメータとかコピペしてきたままで、おかしいんじゃないかな、と思いつつ使っています。
とはいえ、どの情報を見ながら作ったのかくらいは後日追記したいと思っています。

(追記)
秀丸のbatファイルを作るのに参考にしたサイトです。

秀丸エディタQ&A集(第7版)  第IV部~テキスト編集を極める!! 起動オプションを使ってみよう



4.Excelで列の並び替え


上書き保存後のCSVはExcelで開けるので、今度はExcelで開きます。
下記のマクロ(私はPERSONAL.xlsに保存しています)を実行すると、CSVを整形処理した成果物がExcel形式で保存されます。

主な処理は、列の移動と列の削除です。
(追記)そういえば、行の並び替えもしていました。

最後にデスクトップに保存しているので、そのユーザ名部分だけは直すなり、他のフォルダを指定するなりしないと動かないと思います。

Sub togglCSVedit()
'
' togglCSVedit Macro
' マクロ記録日 : 2012/7/15 ユーザー名 : neunzehn
'

'
Columns("A:M").Select
Columns("A:M").EntireColumn.AutoFit
Columns("E:E").Select
Selection.Delete Shift:=xlToLeft
Columns("D:D").Select
Selection.Cut
Columns("C:C").Select
Selection.Insert Shift:=xlToRight
ActiveWindow.SmallScroll ToRight:=2
Columns("J:K").Select
Selection.Cut
Columns("I:I").Select
Selection.Insert Shift:=xlToRight
Columns("H:J").Select
Selection.Cut
Columns("F:F").Select
Selection.Insert Shift:=xlToRight
Columns("J:J").Select
Selection.Cut
ActiveWindow.SmallScroll ToRight:=-1
Columns("C:C").Select
Selection.Insert Shift:=xlToRight
ActiveWindow.SmallScroll ToRight:=-1
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range("G2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin

' XLSで保存 Macro
' マクロ記録日 : 2012/7/25 ユーザー名 : neunzehn
'

'
ChDir "C:\Users\(ユーザ名)\Desktop"
ActiveWorkbook.SaveAs FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False

End Sub



5.今後の改善案


自分が普段使っているツールをベースに、エンコードや文字列の置換なら秀丸でしょ、列の並び替えならExcelでしょ、という最初に思い付いたツールでの処理を自動化しただけのマクロなので、2つのツールを渡り歩く方法になっています。

秀丸のマクロの最後でExcelを開く、または文字コードの変換から文字列の置換まで含めて全てExcel内で処理する、という方法を取れば、途中の手作業が少し減るかな、とは思っています。
どちらも調査しながら試行錯誤しないと私にはできないことなので、そのうち取り組めたら良いと思っています。

もしこの記事を読んで「こうしたらもっと楽にできる」というやり方があれば、教えていただけると喜びます。

[この記事の執筆にかかった時間 67分]

[先週の試験勉強時間 3時間 40分]
先々週は3時間 45分でした。
関連記事

移転後の新ブログの更新情報はこちらから受け取れます。

follow us in feedly

移転先ブログのリンク:流れるような一日を


コメントの投稿

非公開コメント

スポンサード リンク
移転先ブログ
プロフィール

坂根(昔はneunzehnと名乗っていました)

Author:坂根(昔はneunzehnと名乗っていました)
■信条
手間は少ない方が良い。
機械にさせられることは、機械にやってもらえば良い。人間は、人間様にしかできない仕事に力を割くべき。
自分の記憶力にはできるだけ頼らずにものごとを処理したい。

■環境
Windows7
スマホ:docomo SC-04E(Android4.2)

■その他
男児1人、女児1人の父親。
妻を含めて4人家族。
職業は司法書士。

■連絡先
Twitter:@sakane0958
mail:sakane@fluentlife.jp

2013年11月にブログを移転しました。
新ブログはこちら↓
http://fluentlife.jp/

リンク
にほんブログ村 司法書士試験
月別アーカイブ
TrackFeed
track feed 流れるような一日を(旧)
LECバナー
ブロとも一覧

ベテラン司法書士浪人生 合格への道  (それから)
最新コメント
最新記事
カテゴリ
検索フォーム
スポンサード リンク
Author : Masayuki Sakane