ログの保存方法

目標:表計算で行う処理の部分を、マクロで実行したい。


CSV データを取得

1. http://www.osmosoft.com/tiddlytweets/ に、ID を入力して、CSV 形式で表示する。(Excel を使う場合は、xxx.csv として、とりあえず保存する。)


最初に複数の ””で投稿の文章が囲まれていた場合は、一つの ””で囲まれるように削除する

2. コピーして、桜エディタに貼り付ける。

http://sakura-editor.sourceforge.net/


3. 最初の行(列の名称)を削除して、とりあえず20回くらい置換をする。


"(.*)"(.*)" を "$1$2" に、20回くらい置換を実行する。

(※正規表現にチェックして行う。マクロとして記録開始し、実行したものを保存すれば、次回は実行するだけでよい。)


(※ 桜エディタのマクロとして 「Twitterログ/”の置換×20.mac」という名前で保存)

//キーボードマクロのファイル
S_GoFileTop(0); // ファイルの先頭に移動
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画
S_ReplaceAll('"(.*)"(.*)"', '"$1$2"', 12); //
S_ReDraw(0); // 再描画


表計算ソフトにCSVデータを表示する

4. OpenOffice.Org を起動して、桜エディタからコピーする。
  (Excelを使う場合は、保存した xxx.csv を開く)


  CSVの貼り付け形式 → カンマ区切り を選ぶ


5. D 列を選択 して、メニュー → データ → フィルタ → オートフィルタを実行する。


データがありません、と表示されるのを確認する。
(→ CSV データの内容がはみだしていないかを確認)


6. A1 をクリックし、Shift + Ctrl + End で A列〜C 列 の 最後まで選択して、


   メニュー → データ → 並び替えを実行して、A列で並び替え(昇順)
   (→ インデックス順に、データを並び替える)


データの整形

7. D1 に貼り付ける。(→ 重複しない日付の最初のみ残す)


=IF(COUNTIF($C$1:C1;C1)=1; C1;"")

(※ Excel の場合)
=IF(COUNTIF($C$1:C1,C1)=1,C1,"")
→ 日付形式にする


8. E1 に貼り付ける。(→ 日付に対応したインデックスを表示)


=IF(D1="";"";A1-1)

(※ Excel の場合)
=IF(D1="","",A1-1)


9. D1 と E1 を選択してコピーし、D2 をクリックして、
   Shift+Ctrl+End で E列の最後の行まで選択して貼り付ける。
   (→ 重複しない日付と、それに対応するインデックスを作る)


D1 と E1 を、
D 列 と E 列 の最後の行まで、
それぞれの列にコピーする。


空白行を作る

10. E1を選択して、Shift + Ctrl + End を押して、E列の最後の行まで選択した後、
   コピーする。(→ 重複しない日付の数だけ、空白行を作るための手順その1)


 Ctrl + C キーを押す


11. Ctrl + End を押して最後の行に移動して、
  A列の最後の行の次の空白行を選択し、Shift + Ctrl + V を押し、


  形式を選択して貼り付け → 「数字」のみにチェックを入れて実行する。

  (※)Excel の場合は、形式を指定して貼り付け → 「値」にチェックして実行する。

  (→ 空白行を作る手順その2)


12. Ctrl + Home を押して A1 に移動して、
  Shift + Ctrl + End を押して最後の行に選択しながら移動して、
  Shift + 矢印キーで、C列までの選択にして、


  メニュー → データ → 並べ替えを選ぶ。

  (→ 空白行を作る手順その3)


13. 優先 A 列 ( 昇順 )、2番目に優先 B 列 ( 降順 ) で


 OK を押して並び替える。

  (→ 空白行を作る手順その4)


日付を1列目に入れる

14. Ctrl + Home を押して、A1 に移動する。(→ 日付を1列目に入れる手順その1)


15. A1 に貼り付ける。


=IF(B1="";C2;"")

(※)Excel の場合は、
=IF(AND(B1="",C2<>""),C2,"")
→ 貼り付けた後、セルの書式設定で、日付形式にする

 (→ 日付を1列目に入れる手順その2)


16. A1 をコピーし、A2 からA の最後の行まで選択して貼り付ける。


  A2 をクリック → Shift + Ctrl + End → Shift + 矢印 → Ctrl + V

 (→ 日付を1列目に入れる手順その3)


表計算ソフトでの作業が完了

17. Ctrl + Home を押して、A1 に移動し、
  Shift + Ctrl + End を押して、Shift + 矢印で、


  A 列 と B 列の全てを、選択する。

  (→ 完了その1)


18. コピーする。( Ctrl + C )  (→ 完了その2)



データを整形

19. 桜エディタに貼り付ける。


20. 置換するためのマクロを実行する。
  ( マクロのフォルダに、「Twitterログ/タブの置換.mac」 という名前で、保存すれば使える )


//キーボードマクロのファイル
S_GoFileTop(0); // ファイルの先頭に移動
S_ReplaceAll('.*\\t$', '\\r\\n', 268); //
S_ReDraw(0); // 再描画
S_GoFileTop(0); // ファイルの先頭に移動
S_ReplaceAll('^\\t', '', 12); //
S_ReDraw(0); // 再描画
S_GoFileTop(0); // ファイルの先頭に移動
S_ReplaceAll('\\t$', '', 12); //
S_ReDraw(0); // 再描画
S_GoFileTop(0); // ファイルの先頭に移動
S_ReplaceAll('0', '〜', 12); //
S_ReDraw(0); // 再描画
S_GoFileTop(0); // ファイルの先頭に移動


作成したデータの保存方法、使い方

21. できあがったログを、私は「ネタのタネ」に貼り付けて保存しています。
  ・貼り付けるだけでテキスト保存できる
  ・テキストを閲覧しやすい

※フリーなら、「紙Copi Lite」があります。
http://www.kamilabo.jp/