AppleScriptでEvernoteを操作する 第七回

前回は、メモツールにノートタイトルを設定する機能をつけました。ユーザーに入力してもらう方法と、現在時刻を自動的に設定する方法です。

今回は、自動的に設定する方法で、かつ現在時刻を使わない方法にチャレンジしてみましょう。

すなわち一行目である

Evernoteへのメモ送信系アプリでよくあるのが、「メモの一行目をタイトルにしてしまう」という機能。これであれば、ユーザーの入力の手間も省けますし、タイトルでだいたい中身もわかります。

具体的には、

こういう感じのメモを作れるようになればOKです。そのために、まず仕込みを一つ入れておきましょう。

複数行の入力

Display dialog は、普通に使うと、一行だけのテキストフィールドになります。リターンキーを押すと、そのままOKボタンが実行されて、一行しか入力できません。

簡易のメモではこれでも構わないのですが、もう少し大きい入力をしたいときには不便です。そこで、Display dialog に少しアレンジを加えます。

といっても、大がかりなことではなく、

display dialog "input " default answer "" & return

のように、最後に & returnを追加するだけです。すると、表示されるテキストフィールドが一行増えるだけなく、その下にも見えないなりに行が存在することになります。

これで複数行の入力が可能となりました。見栄えがちょっと気になる方は、追加する& returnの数を増やしてもいいかもしれません。

& returnを増やした分だけ、表示されるフィールドの高さも増えます。このあたりは好みでどうぞ。

段落を取り出す

さて、あとは上記のダイアログを使い、ユーザーが入力したテキストの一行目だけを取り出して、それをノートのタイトルに使い、テキスト全体をノートの内容にすればOKです。たとえば、以下のように書けるでしょう。

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
 
tell application "Evernote"
    create note title memoTitle with text memoTxt
end tell

スクリプトを実行すれば、複数行のダイアログが立ち上がり、

入力した内容から、一行目をタイトルにしたノートが作成されます。

やっていることは極めて単純で、まず、memoTxtの中にユーザーが入力したテキストを保管し、その第一行目(第一パラグラフ)だけをmemoTitleに保管して、それぞれの変数を使ってノートを作成しています。

わかりやすくするために分割して書いていますが、この場合ならmemoTitleという変数を使わずに、memoTxt だけで、

tell application "Evernote"
    create note title (paragraph 1 of memoTxt) with text memoTxt
end tell

のように書くこともできます。こちらは少し中級者向けかもしれませんので、わかりにくい場合は別々の変数で管理しておきましょう。

ちなみに、paragraph n of x で、xのn番目の段落を取り出す、となるわけですが、paragraph以外にもcharacter(文字)、word(単語)といった設定ができます。詳しくは以下のページをご覧ください。

AppleScriptで文字列を処理する

今はとりあえず、paragraph 1 of で一行目が取り出せるんだ、ということがわかっていればOKです。

さて、これで簡易のメモツールから、簡易のノート作成ツールにへと微妙にバージョンアップしました。次回はこのスクリプトをさらに変化させましょう。

▼こんな一冊も:

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

コメントする

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