【重要】Noteを移動する毎に同期するようにしました。少なくとも新規に仕分けを行うものは同期されるはずです。ローカルですでに移動済みのNoteはサーバに反映されないので、申し訳ありませんがWebで移動させた上で同期してください。(2011/6/28 0:00:00)
以前、こんなエントリを書きました。
Evernoteに情報を集める
Evernoteを改めて使い直してみたところ、色々なところに情報が散在していることに気付いた。気になった情報を貯蔵のためにInstapaperにストックしたり、Google ReaderでStarを付けたり、TwitterではFavをしたり。また、DropboxやGoodReaderなどにも書籍やデータが散在している。 これらの情報をすべてEvernoteに集約することにしようと思う。
Evernote連携の自動化を進める
以前もEvernoteにクリッピングやらメモやらを格納していたのだが、デフォルトノートブックが溢れてしまい、何をやれば良いのかの見通しが立たない状態になっていた。しかし、今はクリッピングは別のフォルダに移動されていて、その中からすぐにやりたいことだけを一時的にInboxに移しておき終わったらクリッピングのノートブックに戻すだけで良いので、非常に使いやすいInboxになった。
(6/24 22:00 追記: 一部手直ししました。追記は赤文字にしています)。
その理由はEvernoteに送り込む時にノートブックを指定できない情報が増えてきたからです。Google Analysticsのレポート、Instagramの写真、SOICHA/JでクリップしたつぶやきなどがどんどんEvernoteのInboxに溢れていきます。これらを小まめに仕分けしていたのですが、結局はノートのタイトルを見て仕分けをしているので、非常に機械的な作業です…そう、自動化できるはずです。
ということで、自動仕分けの AppleScript を書いてみました。
この自動仕分けはノートのタイトルを検索して一致したものを指定されたノートブックに仕分けるという動きをするものです。書いたAppleScriptはこれ (ENFilter.scpt_2.zip) です。このスクリプトの動作保証や動作させた結果の不具合については責任をとれませんので、利用する場合は皆さん自身の責任でお願いします。
さて、このスクリプトを使うには、ダウンロードして展開してから、AppleScript Editorで開いてください (展開したファイルを右クリックして「このアプリケーションで開く」で選択すればOK)。
AppleScript Editorで開くと
defaultNotebookとkeywordListというのがあると思いますが、この2つだけ自分の環境に合わせてください。
defaultNotebookは仕分けをする元になるノートブックの名前を指定します。必ずしもデフォルトノートブックで無くても構いません。
keywordListは仕分けのためのタイトルと仕分け先のノートブックをペアで指定します。
{{“タイトル1”, “ノートブック1”}, {“タイトル2”,”ノートブック2”}}
という感じに書いてください。3つ以上できますので追加してください(上限は不明)。仕分け先のノートブックが無ければ勝手に作りますので、仕分け先を新たに作っておく必要はありません。逆に指定時にスペルミスなどをするとそのノートブックが作られますのでご注意ください。
修正が終わったら、スクリプトエディタの実行を押せば後はEvernoteのInboxを仕分けしてくれます。最初から大量に指定すると時間も掛かりますし予期しない仕分けをされてしまうかもしれませんので、最初は少なめのルールにして試すことをお勧めします。
なお、仕分けの度にAppleScript Editorから実行するのは面倒です。私はLaunchBarに登録して実行しています。
ただし、LaunchBarでAppleScriptを実行すると同期呼び出しになりますので、仕分けが終わるまでLaunchBarが反応しなくなります。そのため、LaunchBarで実行する時は、Opt+Returnで実行してバックグラウンド実行させています。 LaunchBarだと時間指定でスクリプト実行させることもできるので、常にマシンが立ち上がっているのであれば、使わない時間帯に勝手に仕分けさせるという方法もあると思います。
EvernoteとAppleScriptの組み合わせは色々とできそうです。そもそも、このアイデアを思いついたのは、
Evernoteへ超絶簡単にメモ出来るスクリプトがとにかく素晴らしすぎる! | goryugo
Evernoteへ超絶簡単にメモ出来るスクリプトがとにかく素晴らしすぎる!
最後に、このスクリプトのソースイメージを載せておきます。AppleScriptの文法を全部知っているわけでは無いので、もっと簡単に、もっと高速にできる部分がありそうに思いますが(特にListのハンドリングあたり)、良い方法があれば教えてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
property defaultNotebook : "000_Inbox" (* KeywordList is a list of pair filter keyword and notebook name *) set keywordList to {{"Photos by somone on Instagram", "100_Photo"}, {"Analytics foo.bar.com/", "200_Analytics"}} repeat with filter in keywordList set searchString to item 1 of filter set destinationNotebook to item 2 of filter filterNotes(searchString, destinationNotebook) end repeat (* BEGIN search and move note from Default Notebook *) on filterNotes(searchString, destinationNotebookName) tell application "Evernote" if (not (notebook named destinationNotebookName exists)) then make notebook with properties {name:destinationNotebookName} end if set destinationNotebook to notebook named destinationNotebookName set foundNotesList to find notes "notebook:\"" & defaultNotebook & "\"" & " intitle:\"" & searchString & "\"" repeat with foundNote in foundNotesList move foundNote to destinationNotebook synchronize end repeat end tell end filterNotes |
最後まで読んでいただきありがとうございます。
左のアイコンをクリックして、このブログを Feedly に登録していただけると嬉しいです
Facebook ページでも情報を発信していますのでよろしかったら「いいね!」をお願いします
RSSリーダへの登録は こちら からどうぞ。
コメントを残す