[Workflow] わかりにくそうなアクションの解説とトラブルシューティング

タイトル通り。Workflowのわかりにくそうなアクションの説明です。使っていて起こったトラブルの解決方もいくつか書きました。

アクションの解説

ひと通り使ってみて最初よくわからなかったものの説明。

URL Encode

Ver.1.1で追加されたURL EncodeアクションはURLの予約文字のいくつかをエンコードしません。ならば非予約文字は全てエンコードするのかというとそうでもありません。これだとアプリによっては上手く渡せない事があるような気がするのですが、今の所使ってみて問題は起こっていません。

Add Variable

Add Variableは配列に追加するアクションです。[Input]をAddする度に値が追加されるようになっており、テキスト・画像・カレンダーイベント等、種類の違うソースを1つの配列に含める事ができます。Set Variableで作った変数に追加する事もできます。Split Textで作った配列を追加しても入れ子にはなりません。

テキストで取り出す場合はCombine Textで結合します。種類ごとに分けたい時はGet Details系のアクションを利用して振り分け。結合しないままだと配列の最初のアイテムしか取り出せません。

Get Dictionary from Input

[Input]を辞書(オブジェクト)として取得します。辞書の形式でもいいし、a=1&b=2みたいなテキストも辞書として解釈します。

Photo

キーの値はGet Value for Keyで取得します。キーの名前を取得するには力技を駆使。

  1. Textでテキスト化
  2. Replace Textでブラケットを削除
  3. Split Textで配列化
  4. Repeat for Each
  5. Match Textでキーを取得
  6. Replace Textでいらない部分を削除
  7. Add Variableで配列に追加

めんどくさいのでおすすめしません。

日付関連

基本は日付の取得。必要なら加工するという流れです。

日付の取得

DateアクションかGet Dates from Inputで取得します。Get Dates from Inputは中々融通が効いて便利です。

日付の加工

日付の加工はAdjust DateとFormat Dateで行います。

Adjust DateでAdd 1 Daysと指定すれば翌日になります。Subtract 9 Hoursと指定すれば、日本の場合UTCが取得できます。余談ですが、Adjust Dateを初めて使った時は表示がバグってるのかと思った。

Photo

Format Dateは日付の書式を編集するアクションです。表記はISO 8601形式なので詳しくは調べてください。こちらは中々融通が効かないもので、yyyy-MM-ddTHH:mm:ssZで2015-02-25T21:00:00Zとか取得したい場合は上手くいきません。2015-02-25 21:00:00と取得してからReplace Textで追加する必要があります。

Round Number

簡単に言うと四捨五入するアクションです。条件によって色々処理を変更できます。

例えば123.456という数の小数点以下を四捨五入して、小数点以下を一桁にしたい場合はこうなる。

Photo

トラブルシューティング

込み入った事をやるにはまだ不安定です。

アクションが途切れている

アクションをたくさん繋げた長いワークフローを作っていると、ワークフローを開き直した時に、最後の方が非表示になっている事があります。別に消えたわけでは無いので、アクションを少しドラッグすると表示されます。

Photo

ワークフローの処理が途中で止まる

アクションが途切れるのと同じ種類のバグだと思うのですが、長いワークフローを実行すると途中でアクションが途切れていて、以降の処理へ遷移せずに止まってしまう事があります。

Ver.1.1時点でこれを回避する方法はありません。修正待ちです。ただし、途切れるのは大体最後の方なので、この現象が発生する場合は最後に何もしないアクションを追加してやると回避できたりします。必要なアクションの後にifアクション等を繋げて何もしない処理を追加するとか。これで確実に回避できるとは言えませんが。

以下はサンプルです。App Storeから実行してください。

Exit Workflowでワークフローが終了しない

これも上記したものと根は同じ気がする。Ver.1.1時点でのバグです。

Workflow: Powerful Automation Made Simple Ver.1.1
カテゴリ: 仕事効率化, ユーティリティ
現在の価格: 300円(サイズ: 22.9MB)

あとがき

他にもあった気がしますが、とりあえずメモを取ってあったものをまとめました。風邪ひいて寝てる間の暇潰しに丁度良かったです。

昨日ツイートしたんですが、同じく寝ながら作ったワークフローを公開しました。自分では使いませんが良かったらどうぞ。作ってみたものの、こういう処理は他のツールを使った方が早い。

Affixは行ごとに前方・後方に追記するワークフロー。List or Delistは行ごとにリストマーカーを追加・削除するワークフローです。

ScreenShot Utilityはスクリーンショットを加工するワークフロー。Repeaterワークフローは補助として使います。

ScreenShot Utilityの作りがショボいので、ワークフロー内で処理を繰り返すにはどうしたらいいのか考えた結果、RepeatとChoose系アクションを使って処理をループさせたらすっきりして良いんじゃないかと思い付いた。

これを使ってJavaScriptのswitch文みたいな処理が作れるんじゃないかと。まだ何も作ってませんが。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中