プログラミング

iOSのショートカットを学ぶ6

前回:iOSのショートカットを学ぶ5

さて、さっとメモを送るだけの「FastEverもどき」はできた。ただし、ノートのタイトルが本文すべてになっている。これをなんとかしたい。

今回はその改造をやってみよう。

流れ

まず、イメージする。やりたいのは、入力したテキストの一行目だけを取り出すことだ。どうすればいいか。

そこでいったん検索ボックスに「テキスト」と入れてみる。

すると「テキストを分割」と「テキストを置き換える」が目に入った。テキストを行単位で分割できれば光明が差しそうだし、あるいは一行目以降をすべて消してしまう、というような置き換え(置換)ができれば、それでも目的は達成できそうだ。

両方道筋はありそうだが、とりあえずは「テキストを分割」を軸に進めてみよう。それが行き止まりだったら、今度は置換で考えればいい。

サンプル

まず、簡単にやってみる。

最初に「入力を要求」を設置し、その次に「テキストを分割」を置く。そして、実行ボタン。

どうやら、うまく分割できたようだ。出力が2ページになっている。でもって、このように一つの変数の中に複数個のテキストが入っているものは「リスト」と呼ばれる。ようするに、今回は入力したテキストを分割して、リストにしたわけだ。

あとは、ここから一つめを取り出せればいい。そこで、今度は入力ボックスに「リスト」と入れてみる。

ビンゴ。「リストから項目を取得」が求めているものだろう。とりあえず、これを置いてみる。すると、デフォルトで「最初の項目」が選択されていた。まさにそれがやりたかったのだ。

ちなみに他には「最後の項目」や「ランダム項目」や「項目のインデックス」や「Rangeの項目」などといったものが並ぶ。

最後二つはわかりにくいかもしれないが、要するに「n番目の項目を取得」と「n~m番目の項目を取得」という意味である。とりあえず今は、そういうこともできるんだなと軽く記憶に留めておくだけでいい。

データがつながる問題

というわけで、入力したテキストの一行目だけを取得することができた。あとは、Evernoteにノートを作成すれば……とはいかないのが、今回の難関ポイントである。

なぜかというと、そのまま直後にEvernoteのノート作成を置いてしまうと、直前のアクション、つまり「リストから項目を取得」からデータが渡されてしまうからだ。結果、ノートの本文すらも一行目だけになってしまう。それは意図する動作ではない。

では、どうするか。

やりたいことは、入力したテキスト全体をEvernoteアクションに手渡しつつ、一行目だけを取り出したものをページタイトル部分に手渡すことだ。

ヒントは「変数」である。勘所のいい人なら、この言葉を検索ボックスに入れれば、自力で解決できるかもしれない。が、とりあえずここはややこしくなるので、いったん回を改めるとしよう。

コメントを残す

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