はじめに
今回はPower Automate for Desktop(PAD)でAffinity Photo2にテキストを自動入力する方法を紹介します。
PADやAffinityPhotoの基礎知識などがある事を前提に進めます。
前提知識はこちらをご覧ください。

AffinityPhoto2側の下準備
AffinityPhoto2の自動入力は、ちょっとバグっぽい技を使います。
なので「事前の準備」が重要になります。
この「下準備」で解説した通りの状態にしないと動作新線。
編集するテキストレイヤー以外をロックする
まず作例として、下図のようなデザインを作成。

テキストは「アーティステックテキストツール」を使って打ち込み。
(箱の方だと動かない可能性があります(未検証))

そしたら…
1つのテキストレイヤーだけがロックされてない状態を作ります。
ロックは右上の所でできます。


2つ以上のテキストレイヤーへの入力は諦めてください。
↓の文字以外選択できない状態になったらOK。

以上で、編集するテキストレイヤー以外をロックする処理が完了です。
絶対に動かさない場所にファイルを保存する
そしたら、このデザインを保存します。
ファイル → 保存を選択。

そして… 今後動かす予定がない場所に保存してください。
このファイルの場所を参照してPADが動きます。


保存した後、データの場所を動かすと動かなくなるので注意。
以上で、絶対に動かさない場所にファイルを保存する処理が完了です。
Affinity Photo2側の下準備ができたのでPAD作業に移ります。
PADでAfffinityPhoto2のファイルを開く
Affinity Photo2は「アプリケーションの実行」で追加できます。
こちらを追加。

そして、Affinity Photoのファイルを入れたフォルダを開きます。
上の所からファイルパスをCtrl+Cキーでコピー。

そして、アプリケーションパスの所にCtrl+Vキーでペースト。
後は適当に変数名を設定。

そして… 次は作業ファイルを右クリック → Mキーで名前を変更。
「ファイル名 + .拡張子」を選択し、Ctrl+Cキーでコピーします。

この「ファイル名+.拡張子」を「\(斜め)」で区切って最後の所に入力。


\を入力すると、PADでは右下がりの斜め線が表示されます。
この状態で実行。

すると、AffinityPhoto2が立ち上がります。

そして、作業ファイルが開かれます。

以上で、PADでAfffinityPhoto2のファイルを開く処理が完了です。
AfffinityPhoto2が起動するまで待つ
Affinity Photo2は初回起動だと、下図のような画面が表示されます。
この画面が消えるまで待つ処理を作ります。

まず、AfffinityPhoto2を右上の×ボタンで完全に閉じます。

そして「ウインドウを待機する」を追加。

ウインドウ: → 「UI要素の追加」を選択。

この状態でAffinity Photo2を起動。
そして、起動の際に表示される画面をCtrl+クリックで取得。

取得が一瞬過ぎて、スクショの撮影はできませんでしたが…
これで、起動までの待機画面を取得できます。

あとは「閉じる」まで待機に設定。
そして、既にAffinityPhoto2を開いてるとこの画面が出ないなどの不具合要素があります。
なので「エラー発生時」を選択して、エラー時の挙動を調整します。

エラー発生時 → 「フロー実行を継続する」を有効化。
これで、Affinty Photo2が開いた状態で実行しても処理が止まりません。

そしたら、この状態で実行。
動作を確認。

これでAffinty Photo2が起動するまで待つ処理が完了です。
AffinityPhoto2で文字入れする
ちょっと「バグ」っぽい、裏技的な使い方をします。
将来使えなくなる可能性があるので注意。
Affinty Photoを立ち上げ後、Alt+Sキーで選択を表示。
そして “初回起動時なら” Tabキーを9回押し → Enterキーで「レイヤーをすべて選択」を選べます。

ちなみに、Affinity Photo2を起動して、1度でも何かを選択すると「Tabキー10回押し」が必要になるので注意。


この問題の対処法は、記事の最後にある「おまけ」 → 「より安定して動かすためのヒント」で書いてます。
そして、Affinity Photoはすべて選択を使っても、ロックされてるレイヤーは選択されません。
なので、これでテキストレイヤーだけ選択できます。(バグ技っぽい挙動)

この処理を行うために下記のように入力
・Alt+Sキー → {Alt}(S)
・Tabキー9回押し {Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}
・Enterキー → {Return}

ちなみに、この処理はハードウェアーキーとして送信を有効化しないと動かないので注意。

↑の図だと間違えてEnterキーを{Return}ではなく{Enter}と入力してますが…
動きました。(ブログを書いてて気づきました)
テキストレイヤーを選択した状態で、一度テキスト以外のツールを選択。
その後、テキストツールを選択。

すると、選択しているテキストレイヤーが入力可能な状態になります。


限りなくバグ技に近い挙動。
この状態でCtrl+Aキー。
すると、全てのテキストを選択した状態にできます。

ここまでの処理を追加。

これらの処理は「テキストをハードウェア―キーとして送信します:」を有効化して行ってください。

あとは、キーの送信先を「タイトルやクラス、またはその両方」に設定。
そしてウインドウタイトルを「Affinity Photo 2」に設定。


これで、Affinity Photo 2のタイトル、ソフトウェアの画面を探してキー入力が入るようになります。
なので、PAD動作中に他の場所をクリックして最前面のウインドウが変わってもエラーで崩れにくくなります。
そしたら次は、キー送信を追加して下図のように設定。
・キーの送信先 → 「タイトルやクラス、またはその両方」
・ウインドウタイトル → 「Affinity Photo 2」
・適当なテキストを入力
・ハードウェアーキーとして送信 → 「チェックを解除」
ウインドウのタイトルはAffinity Photo2を起動してないと出ないので注意。

そしたら、この状態で実行。

これで、AffinityPhotoにテキストを自動入力できます。

おまけ
より安定して動かすためのヒント
Alt+Sキー入力 → 「レイヤーをすべて選択」は状態によって必要なTabキーの入力回数が変わります。

なので「ウインドウの UI要素をクリック」に置き換えるのも1つの手です。
ただし、場所の検索処理が遅いのか、動作がやや遅くなるので注意。


安定を取るか… 速さを取るか…。
「ウインドウの UI要素をクリック」を追加して、UI要素の追加を選択。
この状態でAffinity Photo2でAlt+Sキー → 「レイヤーをすべて選択」をCtrl+クリック。

この処理をTabキー9回+Enterキーの部分に置き換え。
↓こちらでも動きます。

以上が、より安定して動かすためのヒントです。
Affinity Photo2でテキストを中央揃えにする
テキストを全選択。
そして中央揃えを選択。

そして、テキストを真ん中に整列。

この状態でテキストを入力。
すると、テキストが真ん中で揃います。

「ひらがな入力」だとPADの入力が崩れるので注意
文字は「ひらがな」入力だと正しく入力されません。

こちらのように、崩れます。

こちらの対処法は下の記事「文字が正しく入力されない時の対処法」でまとめてます。


ちょっと長くなるので・・・
こちらの記事をご参照ください。
まとめ
今回は、Power Automate for Desktop(PAD)でAffinity Photo2にテキストを自動入力する方法を紹介しました。
・Affinity Photo2でテキストレイヤー以外をロックした状態にする
・絶対に動かさない場所にAffinity Photo2のファイルを保存
・PADの「アプリケーション実行」でファイルパスを参照して開く
・Affinity Photo2で「レイヤーをすべて選択」を使えば、ロックされてないテキストレイヤーを選択できる
・別のツールを選択 → テキストツールを選択すればテキスト入力可能状態になる
・あとは、Alt+Aキーで全選択後、文字を入れるだけ
また、他にもPAD関連の情報を発信してます。



ぜひ、こちらもご覧ください。
コメント