WindowsからOmnifocusに複数タスクを一括登録する

WindowsからOmniFocusに複数タスクを一括登録する

普段のタスク管理はiPhone/iPadのOmniFocusを使っています(OmniFocusならMac使えばいいんでしょうが)
普段の思いつきタスクなんかを追加する分にはアプリからの入力でも不自由を感じませんが、勉強とかで沢山のタスク(参考書の「§〇ー〇を読む」とか)をチマチマ追加するのが面倒で、まとめて放り込みたかったのでMail DropとGASを使って試してみました。

準備

Mail Dropのアドレスを取得

Omni Sync Serverの管理ページを開き、ADD AN ADDRESSボタンを押すと、下側にMail Drop用のアドレスが表示されます(赤枠)。
画像

このアドレスがMail Dropの送信先アドレスになります。

やってみる

スプレッドシートにタスクを書き出す

Googleドライブから新規のスプレッドシートを開いて、タスクをセルに入れていきます。
参考書の場合は、このように目次が掲載されているページを探すと楽です。
enter image description here

Mail Dropではメモも追加できるので、気になることがあれば書いておきます。

GASでスクリプトを書く

構成としてはこんな感じです。

  1. スプレッドシートのタスク範囲を配列に取得する
  2. 取得したアイテム分だけメールを送信する

メールの送信はsendEmailメソッドで実行します。
実行すると(当然ですが)メール送信されますので、送信先アドレスの設定を間違えないようご注意ください。

function myFunction() {
  // Mail Dropの送信先アドレス
  var DEST_ADR = "YOUR_MAIL_DROP_ADDRESS";
  
  // シートを取得
  var sheet = SpreadsheetApp.getActiveSheet();
  
  // タスク範囲を取得
  var items_array = sheet.getDataRange().getValues();
  
  // アイテム数だけ繰り返し
  for (var i = 0; i < items_array.length; i++) {
    // 先頭はタイトル行なので何もしない
    if (i == 0) {
      continue; 
    }
    
    // 送信先にタスクを送る
    var taskname = items_array[i][0]; // タスク列
    var memo = items_array[i][1];     // メモ列
    MailApp.sendEmail(DEST_ADR, taskname, memo);
  }
}

OmniFocusで確認する

実行したら、OmniFocusでタスクを確認します。
Mail Dropで送られたタスクは、Inboxに格納されます。
メモを設定したタスクは、メモも追加されます。
Inbox
(しばらくメンテしていないのが丸わかりで恥ずかしい・・・)

まとめ

GASはGoogleの各種サービスが使えるので、こういうちょっとした(でも面倒な)作業の効率化には心強いですね。
さて、久しぶりにOmniFocusのメンテでもするかなぁ。

Written with StackEdit.

コメント

このブログの人気の投稿

Cっぽいコードでgoogle testとgoogle mockを使ってみる

Cっぽいコードでgtestとgmockを使ってみる その2

WSLにgoogle testを入れてみる