Evernoteのノートタイトルを一括で変更するためにAppleScriptを書きました。

タイトルにそのノートの作成日を追加します。

 

スポンサードリンク

Evernoteで1日1ノートのライフログ

Evernoteにライフログを取っています。

 

毎日「Today’s Lifelog」というノートを作って、そこにその日のログをまとめて記入しておくことで、1日の行動を流れとしてみることができます。

 

 

しかし、このやり方だと日毎に作成されるノートのタイトルがすべて同じ「Today’s Lifelog」となってしまいます。

日付で検索すれば目的の日のノートに辿り着くことはできますが、ぱっと見で分かりにくい。

できればタイトルに日付を入れておいて、タイトルで判別できるようにしたい。

 

でもこのライフログ、もう1,000日以上とってるんですよね。

手動でひとつひとつ変更するのは面倒すぎます。

 

AppleScriptを使ってEvernoteのノートタイトルを変更する

そこで、AppleScriptを使って、ノートのタイトルを一括で変更することにしました。

 

AppleScriptに関しては全く知識がなかったのですが、下のリンク先を読んで基礎を学びました。

めっちゃ分かりやすいのでおすすめです。

 

 

そんなこんなで下のスクリプトを書きました。

 


上述のサイトで学んだとおり、あらかじめEvernoteでノートを選択しておいてからこのスクリプトを実行すると、選択したノート内で処理を繰り返すようにしています。

 

ノートの作成日の取得

Evernoteのノート作成日はcreation dateで取得できるので、それを変数datestringに入れておきます。

のちに文字列として扱うので as string としておきます。

 

普通に取得すると、

2018年3月23日金曜日 12:34:56

というふうに表示されますが、ここでは「作成日」を入れたいので、曜日以降の時間表記は不要です。

曜日も要らないかと思ったのですが、あっても困らないし、あったほうが便利なので残すことにしました。

 

時間表記の削除(=頭から曜日部分までの取得)が必要なのですが、ここでは曜日と時間の間の半角スペースに注目。

半角スペースが文字列の何番目の文字であるかを調べて、文字列の頭からその位置までを抽出するという方法をとります。

 

6行目の offset of ” ” in datestring の部分で半角スペースの位置を取得して、

text 1 thru 〜 of datestring で文字列の頭からその位置(の前)までの文字列を抽出しています。

 

最終的にtitleの内容は

title of a & ” – ” & text 1 thru (offset of ” ” in datestring) of datestring

となっています。

元のタイトルの後ろに「 – 」をつけて、さらにその後ろに作成日(曜日まで)を追加しています。

「Today’s Lifelog」の文字は残しておいたほうが分かりやすいと思ったので残しておきました。

 

これを実行すると、

Before

スクリプト実行前

After

スクリプト実行後

 

 

思いどおりに変更されました。

成功です。

 

複数選択してまとめて実行してやればOK。

当日以外のノートに対して定期的に実行すれば管理がしやすくなります。

 

自動化成功

ただ、一つだけ問題点が。

前提として、「Today’s Lifelog」のノートは、自分が寝たときに新しく作成されるようになっています

 

たいていの日は深夜12時以降に寝るので、ノートの内容(それぞれのログ)の日付はノートの作成日と同じになっています。

でも、もし12時より前に寝た場合は前の日のうちに新規ノートが作成されてしまうので、ログ内容とタイトルに付く日付がズレてしまいます。

おそらくここ最近では12時より前に寝たことはないと思うので大丈夫だとは思いますが。

 

ともあれ、これで一気にノートタイトルを変更することができました。

3年分くらいのノートを放置していたので、自動化は本当に助かります。

 

 

スポンサードリンク
イラスト素材・ベクター素材のピクスタ