
いながき@ありがとうです。
タスクを先送りするのは余り良いことではありませんが、どこかのタイミングで決断して先送りすることがあります。
突発の案件が入って、時間的に難しいとかそういうときです。
大ざっぱなスケジュール管理であれば、移動するくらいでいいのですが、タスク管理を細かくやっている場合、タスク一群をまとめて移動しなければならないという状況があります。
移動するタスクの運用時間(私の場合dueDateで見ています)を変えたくないということがあります。
私の場合は、タスクは時間表示にしています。
Omniから購入した場合:
defaults write com.omnigroup.OmniFocus RelativeDateFormatterShowTime YES
App Storeから購入した場合:
defaults write com.omnigroup.OmniFocus.MacAppStore RelativeDateFormatterShowTime
YES
こんなおまじないをしておくと、分表示になります。
選んだタスクの日付を変えるには、AppleScriptを使います。Pro版でないと使えません。
−−−
tell application "OmniFocus" #今日の日付 #set newDate to current date #明日の日付 set newDate to (current date) - (time of (current date)) + 86400 tell first document window of front document set theSelectedItems to selected trees of content if ((count of theSelectedItems) < 1) then error "Please first select a task" end if set output to "" repeat with theItem in theSelectedItems's reverse set theTask to value of theItem set dueDate to due date of theTask if dueDate is not missing value then #期限の時間を取得 set hours of newDate to (time of (dueDate)) div hours set minutes of newDate to ((time of (dueDate)) mod hours) div minutes set due date of theTask to newDate end if end repeat end tell end tell
−−−
こんなAppleScriptをスクリプトフォルダに置きます。
スクリプトフォルダはHelpメニューから開けます。
やっていることは、newDate(明日の日付)を取得し、選択しているタスクの時間と合わせて、修正するだけです。
意外と、便利です。