AppleScriptでEvernoteを操作する 第十回

前回は、タグを選択するダイアログを表示し、その結果に応じてノートにつけるタグを変える機能を追加しました。

今回は、そこに「タグをつけない」という選択を追加してみましょう。登場するのは条件分岐です。

狙いとコード

やりたいことは、ある選択においてはタグをつけ、別の選択においてはタグをつけない、という処理です。

そのような処理は、たとえば以下のように書けます。

set taglist to {"着想", "タスク", "資料", "タグなし"}

set myAnswer to display dialog "メモの内容を入力してね!" default answer "" & return & return & return & return
set memoTxt to text returned of myAnswer
set memoTitle to paragraph 1 of memoTxt

set applyTag to (choose from list taglist) as text

tell application "Evernote"
	
	if applyTag is equal to "タグなし" then
		create note title memoTitle with text memoTxt
	else
		create note title memoTitle tags applyTag with text memoTxt
	end if
	
end tell

前回との違いは、まず選択肢の「記録」が「タグなし」になっていること。これはわかりやすく強調したもので、「記録」のままでも別に構いません。ともかくこの四番目の選択肢を選んだときだけは、他とは違いタグをつけないようにします。

次に、set applyTag to (choose from list taglist) as text の行の最後にas text が追加されています。これはおまじないのようなものなのですが、意味としてはそのまま「テキストとして扱え!」となります。興味ある方はこのas textだけ削除してコードを動かしてみてください。

最後にノート作成の部分がややこしくなっています。重要なのは、 if applyTag is equal to “タグなし” then の箇所。これも英語をそのまま読めばOKで、「もし、applyTagの中身が、”タグなし”に等しいのであれば、」という意味で、その仮定(if)にマッチする場合のみ、下の行が実行されます。この場合は、create note title memoTitle with text memoTxt です。

さらにその次の行のelseは、「そうでなければ」となって、最初に提示した仮定にマッチしないのなら、その下の行が実行されます。そして最後のend if でこの仮定全体が終了します。

つまり、流れはこうです。まず最初にapplyTagの中身が”タグなし” が等しいかを確認する。等しければ create note title memoTitle with text memoTxtを実行し、等しくなければ create note title memoTitle tags applyTag with text memoTxtを実行する。この場合、二つの行の違いは、タグを当てているかどうかだけなので、結果もタグの有無の違いとして出てきます。

実際にコードを動かしてみると、

無事タグのついていないノートを作成することができました。

仮定の書き方

条件分岐について書き始めるとキリがありませんので、詳しく知りたい方は以下のページをどうぞ。

鳶嶋工房 / AppleScript / 入門 / インテリジェントでいこう

とりあえず押さえておきたいのは、今回使用した is equal to は is や = に書き換えても同じ、という点。つまり、以下の書き方はどれも同様に機能します。

if applyTag is equal to “タグなし” then
if applyTag is “タグなし” then
if applyTag = “タグなし” then

自分にとってわかりやすい書き方を選んでください。

next step

このif文はディープであり、うまく使えるようになるとプログラミングの基本みたいなことはほとんどOKになるのですが、細かい話は多いので、必要に応じて紹介していくことにします。まずは、このシンプルな形を覚えてください。

次回は、このif文を使ってもう少し複雑な処理を導入してみます。

▼こんな一冊も:

ズボラな僕がEvernoteで情報の片付け達人になった理由
倉下 忠憲
シーアンドアール研究所 (2016-02-26)
売り上げランキング: 126,144
Evernote豆技50選 (Espresso Books)
倉下忠憲 (2015-03-29)
売り上げランキング: 100
Related Posts with Thumbnails
Send to Kindle
Rashita
物書きをやっております。実用書から小説までなんでもござれのハイブリッド物書きです。 ライフハックや仕事術、知的生産などに興味があります。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です