前回は、Toodledoからタスクをエクスポートし、Excelに取り込みました。
今回は、必要なタスクを抽出し、Toodledo文法で表記されている各属性をTodoist表記に書き換えます。
ここから少しExcelの知識が必要になってきますが、Excelに詳しくない方でも書いてある通りに作業すれば問題ないと思います。
では、さっそく作業に取りかかりましょう。
3. Todoistインポートデータの表記に変換する
未完了タスクを抽出する
Toodledoからエクスポートした全タスクの中には、完了済みタスクも含まれています。そこでまずは、未完了タスクのみを抽出します。
▼completed列のフィルターで、「0000-00-00」のみを抽出します。これが未完了タスクです。
▼原始的ですが、抽出した全行を選択して別のシートのA1セルに、「元の列幅を保持」で貼り付けます。
▼貼り付けるとリストの色がなくなりますが、作業上、問題はありません。
▼貼り付けたら1行目を選択し、「データ」⇒「並び替えとフィルター」⇒「フィルター」で、
▼フィルターをかけ直しておきましょう。
これで、未完了タスクの抽出は完了です。
サブタスク文頭に「…」を追記する
サブタスクを親タスクの下にインデント表示させるための仕込みをします。
サブタスクと親タスクを分ける
まずはサブタスクだけに変更を加えたいので、サブタスクと親タスクを分けます。
▼order列を降順に並び替え、order = 0の親タスクを一番下にまとめます。
サブタスクの先頭に「…」を挿入する
サブタスクを親タスクから分離したら、Excelのマクロプログラム機能を使って、インデントの意味の「…」をサブタスクの文頭に挿入します。
まず、下記コードをコピーして下さい。
[crayon-55762b744a1f5973876536/]
▼次に、Excel上で、[Alt]+[F11]を押し、Visual Basic for Applications (VBA) を起動します。
▼メニューの「挿入」⇒「標準モジュール」を選択します。
▼先ほどコピーしたコードを出てきたウィンドウ内にペーストします。
▼Excelに戻り、orderに数字が入っているサブタスクのタスク名をすべて選択します。
▼VBAに戻り、マクロコードのどこかをクリックし、カーソル点滅状態にして、F5(マクロ実行)を押します。
▼するとあら不思議。すべてのサブタスクの文頭に「…」が挿入されます。
PCのスペックやサブタスクの量によっては、マクロの処理が完了するまで少し時間がかかるかも知れません。
また、「…」=1インデントなので、より多くインデントさせたい方は、「…」をインデントさせたい分、文頭に挿入しましょう。
タグを変換する
Todoist表記
文字列をTodoistにタグとして読み込むには、文字列の頭に「@」が付いている必要があります。
例)@哲学
「@」を文頭に挿入する
「@」もマクロを使って文頭に挿入します。
下記、コードをVBAにコピペしましょう。
[crayon-55762b744a20d988282819/]
上記コードは、サブタスクの工程で「…」と記入していた部分を「’@」に変えただけです。
つまり、”で囲まれている部分が挿入されるということですね。
「@」の前の「’」を付けないと、「@」が挿入されませんのでご注意を。
▼サブタスクの工程と同じ手順でtag列の先頭以外をすべて選択し、
▼「F5」でマクロを実行します。
▼すると、空白のセルにまで「@」が挿入されるので、
▼フィルターで「@」を抽出し、
▼全て選択し、
▼「Delete」で削除します。
▼フィルターですべて選択し直し、元に戻しておきます。
期日とリピート設定を変換する
Todoist表記
日付をTodoistに期日として読み込ませるには、以下の表記になっている必要があります。
例)[[date 2015年6月4日]]
また、リピート設定をTodoistに読み込ませるには、以下の表記になっている必要があります。
例)[[date 2015年6月4日から毎日]]
つまり、[[date ]]の中にTodoistでタスクを登録する際の書き方で、期日やリピート設定入力の表記を入れれば良いということです。
期日とリピート設定を合体させる
▼priority列を選択し、列を挿入します。
▼挿入した列内を右クリックし、「セルの書式選定」を選択します。
▼「表示形式」⇒「標準」を選択し、OKを押します。
▼2列目の中に、期日とリピート設定のセル番号、今回の場合「=C2&D2」と記入します。
▼[Enter]を押すと、C2の期日とD2のリピート設定が合体します。
▼セルの右下をダブルクリックし、すべての行に数式をコピーします。
▼今選択している範囲をコピーし、同じ場所に値として貼り付けます。
最初に表示形式を標準にしないと、数式の結果が反映されません。
[[date ]]を文頭・文末に挿入する
まず、おなじみの挿入マクロで[[date ]]を文頭・文末に挿入します。
下記コードをVBAにコピペし、期日&リピート列を先頭行すべて選択し、F5を押すと挿入完了です。
[crayon-55762b744a21e205728077/]
▼挿入されるとこうなります。
期日を年月に表記に変換する
次にToodledo表記で「2015-10-22」なっている期日部分を年月に変換します。
ここでは原始的な方法、つまりひたすら地道に置換します。
年に変換する
▼次に先ほど作った列の先頭行以外をすべて選択します。
▼[Ctrl]+[H]で置換を出現させ、まずは検索する文字列を「2015-0」、置換後の文字列を「2015年」にしてすべて置換します。
同じく、「2015-」⇒「2015年」ですべて置換します。
月に変換する
▼続いて、「-3」⇒「月3」ですべて置換します。
同じように「-2」⇒「月2」、「-1」⇒「月1」、「-0」⇒「月」ですべてを置換します。
▼これで年と月表記に変換できました。
リピート設定を変換する
リピート設定も地道に置換していきます。
repeat列のフィルターで、リピート設定を昇順で並び替え、同じリピート設定をまとめておきます。
▼あとは同じリピート設定の期日&リピート合体セルをすべて選択し、下記リンク先公式ヘルプを見ながら、Todoistでのリピート設定の表記に置換していきますが、この時、「日から」を置換後のリピート設定の前に入れましょう。
▼そうすると、見事、Todoist表記の文に変換されます。
▼すべて置換すると、リピート設定なしの「None」が残りますので、
▼これを「日」に置換して全行程完了です。
▼「[[date 日]]」1という表記が残るので、これを抽出し[Delete]で削除します。
▼期日とリピート設定の変換が完了したので、最後にduedate列とrepeat列を選択して削除します。
重要度を変換する
Todoist表記
インポートするタスクに優先度を付けるには下記の様に記載する必要があります。
例)[[priority 1]]
番号の部分は、1~3まで入力可能です。優先度1~3で読み込まれます。
優先度を置換する
ここは単純に置換します。
▼priority列をフィルターで昇順に並び替え、
▼置換したいToodledoの重要度をすべて選択し、Todoistの対応する優先度に置換します。
Lowは重要度を付けていないタスクなので、フィルターで「Low」を抽出し、[Delete]で削除しておきます。
ノートを変換する
Todoist表記
Todoistのノートに文章を取り込みたい場合は、文章の冒頭を以下の様にする必要があります。
例)[[NOTE]]: ここからがノートの始まり…
[[NOTE]]: を文頭に挿入する
挿入マクロの出番です。
▼note列フィルターで空白セルを除外し、
ノートに文を入れているセルをすべて選択し、下記マクロを走らせます。
[crayon-55762b744a230838196896/]
▼文頭に「[[NOTE]]: 」が挿入されます。
▼「[[NOTE]]: 」のみのセルをいつも通り抽出し、[Delete]で削除します。
まとめ
今回で、Toodledoからエクスポートしたタスク属性をTodoist表記に変更しました。
次回は、ToodledoのタスクをTodoistへ取り込みやすい順番に並び替えます。
全5回へのリンクを以下のページにまとめました。
よろしければ、ご活用ください。
- 期日もリピート設定もしていないタスク ↩