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

前回までは、ダイアログを表示し、ユーザーに入力してもらった内容で、新しいノートを作成する、というツールを作成していました。

今回は、視点を変えて、別の形に取り組んでみましょう。ユーザーに入力してもらった内容を、すでに存在するノートに書き加える、という形です。

狙いとコード

基本的な形は前回までの流れを引き継ぎます。ダイアログを出し、ユーザーに内容を入力してもらう。その結果を利用して、選択しているノートに追記する。コードは以下のようになります。

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"

	set temp to selection
	append item 1 of temp text memoTxt
	
end tell

※Evernoteで選択しているノート

※ツール起動後のダイアログで追記内容を入力

※ノートに追記された

コードの前半部分はこれまでと同じで、変わっているのは後半のEvernoteへの命令部分です。

まず7行目。「selection」というのは、「選択されているもの」というくらいの意味で、Evernoteであれば選択されたノートの情報が返ってきます。それをとりあえずtemp変数に保存。

次の行で、そのtempに対して、追記の命令を下しています。「append」がそれです。コマンドを読み下せば、「tempの1項目に、memoTxtの内容をtext形式で書き加えよ」となるでしょう。いろいろ新しい概念が出てきたのですが、とりあえずappendの解説からとりかかりましょう。構文的にはこうです。

append v ~

・vは対象となるノート
・~は書き込む内容

で使えるのは

・text
・html
・attachment

の三種類。textはプレーンテキストで、htmlはhtmlタグの形式で追記ができ、attachmentはファイルの添付が可能です。

textとhtmlについてはどちらも文字列を指定するのですが、その違いはたとえば以下のようになります。

※入力は同じ

※textで処理したもの

※htmlで処理したもの

もし文字を太字やリンクにしたければ、textではなくhtmlを使ってappendしましょう。ただしその場合、改行等がまるっと消えるので注意が必要です。

三つ目のattachmentは、少しややこしいので今回は割愛します。

item 1 of

もう一つ、覚えておきたいのが「item 1 of temp」という書き方です。

「item 1 of」とは、一つ目の項目という意味です。そして、tempには選択されているノートが入っているのでした。では、「item 1 of temp」とはなんでしょうか。もちろん「選択されているノートの一つ目の項目」ということです。これは、Evernote上でノートを複数選択できることを思い出していただければ納得できるでしょう。

上記のコードであれば、いくつノートを選択していても、その一番最初のノートに追記がなされます。無論一つしかノートが選択されていなければ、そのノートが一項目目です。

next step

この「append」という操作も、Evernoteでいろいろやる上では頻繁に登場します。ぜひとも覚えておいてください。また、選択したノートに対して操作を行うことも多いので、 selectionからノートを取り出す感覚にも慣れておきましょう。

とりあえず、今回は選択したノートの中の一つのノートに対して操作をしました。では、選択したノートすべてに操作を行う場合はどうでしょうか。それについては次回紹介します。

▼こんな一冊も:

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

コメントする

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