AppleScriptでEvernoteを操作する 第六回

前回は、シンプルな「メモ作成ツール」を作ってみました。今回はそれを改造していきます。

ノートタイトルの入力

前回のバージョンでは、ノートの作成は可能でしたが、そのタイトルは無題でした。これを変えたいところです。

では、どのようにすればよいのでしょうか。

真っ先に思いつくのが、ユーザーにノートのタイトルを入力してもらい、それを利用してノートを作成するというもの。これならば、新しいプログラムの知識はほとんど必要ありません。前回作成したものを、二回実行すればよいだけです。

set myAnswer to display dialog "メモのタイトルを入力してね!" default answer ""
set memoTitle to text returned of myAnswer

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

tell application "Evernote"
	create note title memoTitle with text memoTxt
end tell

新しい要素は無いので詳しい解説はしませんが、1〜2行目でノートのタイトルをユーザーから入力してもらい、それを変数に格納し、4〜5行目でノートの内容をユーザーに入力してもらってそれも変数に格納する。あとは、それぞれの変数を利用してノートを作成する、という流れです。

自動設定

しかし、メモを作成する際に、いちいちタイトルをつけるのは面倒ですね。別の方法はないでしょうか。

そこで思いつくのが、時刻の利用です。タイムスタンプは重複することがまずありませんし、メモのアイデンティファイとしても優秀です。それをノートのタイトルに利用する手はどうでしょうか。

たとえば、こんな感じになります。

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

set memoTitle to (current date) as text

tell application "Evernote"
	create note title memoTitle with text memoTxt
end tell

実行すれば、1つだけダイアログが立ち上がり、メモの内容を入力すると、次のようなノートが作成されます。

複数回実行していただければ、それぞれのノートタイトルが異なっている(それぞれの現在時刻になっている)のがおわかりいただけるでしょう。

さて、ここで新しく登場したのは、current date という要素です。名前が示すとおり現在時刻が入っている(現在時刻のデータを返してくれる)のですが、そのままだとテキストデータとしては扱えないので、as text を添えて、ノートタイトルとして使えるようにしてあります。

あとはその変数を使って、ノートを作成する。簡単ですね。

このcurrent dateは、いろいろ使い勝手があって、時間だけを取り出したり、曜日だけを取り出したり、日付同士を計算したりできるのですが、ここでは現在時刻だけがあればよいので、深入りは避けておきます。興味がある方は、以下のページを読んで研究してみてください。

AppleScript : 日付や時刻を利用する – GameSprit

鳶嶋工房 / AppleScript / Tips / 時・分・秒の扱い

さいごに

今回はノートタイトルの設定方法を二つ紹介してみました。ユーザー入力がもっとも簡単ですが、使う側からすると手間でしかありません。そこで、時刻の自動入力のようなものが良いのですが、実はもう一つ有効にノートタイトルを設定する方法があります。

それについては次回紹介してみましょう。

▼こんな一冊も:

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

コメントする

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