AppleScriptでEvernoteを操作する 第十八回

前回は、Evernoteのノートの中身を取得する方法を紹介しました。

今回は、それを書き換える方法を紹介します。

狙いとコード

既存のノートを書き換えるといろいろややこしいので、ノートを新規作成して、そのノートの中身を書き換えてみましょう。コードは以下のようになります。

tell application "Evernote"
	set anote to create note title "sample" with text "this is sample note"
	set anoteText to HTML content of anote
	set anoteText to "hello Evernote" & anoteText
	set HTML content of anote to anoteText
end tell

これを実行すると、次のようなノートが作成されるはずです。二行目で、新規ノートを作成し、三行目でその中身を変数に取得して、四行目で、その変数に”hello Evernote”を追記した上で、その変数を作成したノートの中身として設定してあります。

イメージとしては、ノートの中身を取り出し、それに改変を加えて、ノートの中身として戻す、という感じ。

で、ここで使っているのはHTMLなので、次のようなこともできます。

tell application "Evernote"
	set anote to create note title "sample" with text "this is sample note"
	set anoteText to HTML content of anote
	set anoteText to "<h1>hello Evernote</h1>" & anoteText
	set HTML content of anote to anoteText
end tell

実行すると、次のようなノートが作成されるはずです。

そうです。Evernoteのエディタでは、文字サイズを大きくすることはできても、h1などの見出しタグの設定はできませんが、こうしてスクリプトを使えば、きちんとした書式を当てることができます。ノートをエクスポートして、別の何かに利用する場合は、書式設定が生きてくるので、なかなか便利です。

h1~6タグだけでなく、bやiやblockquoteなども使えますし、スタイルを直書きすれば、それも(ある程度は)反映されます。

たとえば、以下のように書けば、

tell application "Evernote"
	set anote to create note title "sample" with text "this is sample note"
	set anoteText to HTML content of anote
	set anoteText to "<h1 style=\"color:red;\">hello Evernote</h1>" & anoteText
	set HTML content of anote to anoteText
end tell

次のようなノートが作成されるでしょう。これを使えば、凝ったデザインのノートも作成可能です。

一点注意があるとすれば、スタイルを直に書くときは、文中に出てくる ” をエスケープしておく必要がある、という点です。以前もたしか説明しましたね。まあ、難しいことは考えずに、” の部分を \” としておけばOKです。

Next Step

というわけで、今回はノートの中身をごっそり書き換える方法を紹介しました。もともと用意されているコマンドだと、「新規ノートの作成」(create note)か「一番下に追記」(append)しか実行できないのですが、この方法を使えば、もう少し細かい編集が可能となります。もちろん、多少なりともHTMLやCSSの知識が必要なことは言うまでもありません。

さて、次回は、HTML content of ではなく、ENML content of を使った中身の変更について紹介してみます。

▼こんな一冊も:

Evernote豆技50選 (Espresso Books)
倉下忠憲 (2015-03-29)
売り上げランキング: 144
ズボラな僕がEvernoteで情報の片付け達人になった理由
倉下 忠憲
シーアンドアール研究所 (2016-02-26)
売り上げランキング: 77,522