PowerAutomateDesktopを使って、illustratorのリンクを差し替えてみた


PowerAutomateDesktopを使って、Adobeのillustratorのリンクを差し替える自動化処理を作成してみました。
基本的な操作方法については端折らせていただきます、ご了承ください。

必要なもの：
* PowerAutomateDesktop([Windows10のユーザーであれば無償でインストールできます](https://learn.microsoft.com/ja-jp/power-automate/desktop-flows/install))
※以降、PADと記載します。
* illustrator(私は7日間のお試しプランを利用しました)



## やりたいこと
1. Adobeを開く
1. テンプレートの画像を選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/c4139d12-87d2-b041-6fb4-83820896d121.png)

1. 画像が選択された状態で右下の「リンクを再設定」ボタンをクリックする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/0c9a5d2d-001f-9c23-290c-7c025709732f.png)
1. 任意の画像を選んで配置し、リンクを再設定する
![スクリーンショット 2023-07-18 172905.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/4b1a3719-d789-fae4-c685-073ed20e6889.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/8b879a31-34b7-95b2-cf53-23df8e439e5a.png)

一連の処理を、PADを使って自動化してみたいと思います。


## 発生した問題

シンプルな処理のため、PADのレコーダー機能(いつも通りの操作をするだけで自動的にフローが作成される)を利用すれば簡単に実現できそうだと踏んでいましたが、手順2と3で躓いてしまいました…。

原因：
* 画像がクリックできない
* ウィンドウのボタンをクリックできない

「UIの要素が取得できません」等のエラーが出てしまいます。今のところ、PADとillustratorはあまり相性が良くない様子…。
X軸とY軸を指定してマウスを移動しクリックさせる方法もあるようですが、ウィンドウ等は動く可能性があるため一旦保留し、別の方法を探ることにしました。


## 解決策

PADを使用してillustrator内部の機能を動かす場合、基本的にはショートカットキーを使う必要があります。
<font color="red">画面上部のツールバーのプルダウンメニューのみ、直接クリックすることが可能です。</font>
※個人で確認した範囲です
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/dab0d182-b90a-5657-08f7-859c412a0e35.png)
以下ショートカットキーを使って、必要なツールを展開することができます。
**選択(S)**　→　**alt + s**
**ウィンドウ(W)**　→ **alt + w**

それでは、躓いた処理を解決していきます。↓↓↓↓↓↓
<br>
>**2.テンプレートの画像を選択する**

テンプレートの画像を選択する操作をプルダウンメニュー上に作成し、それをクリックするようにします。

【事前準備】
1. 差し替えたい画像をクリックする
1. ツールバー→[選択]をクリックし、プルダウンメニューから[選択範囲を保存]を選び、任意の名前をつける
プルダウンメニューに選択範囲が保存されます。クリックすると、1で選んだ画像が選択されます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/582c5b8a-85ae-3cab-be96-aeb997ec1001.png)

【PAD】
1. レコーダーを起動し、**alt + s**で[選択]を展開する
1. マウスで先ほど作成した選択範囲を選択する
<br>

>**3.任意の画像を選んで配置し、リンクを再設定する**

illustratorのアクション(操作を自動化＆ショートカットキーを設定できる)機能を使って、リンクを再設定します。アクション機能を使うことによって、動作しないボタンクリックをカバーします。

【事前準備】
1. ツールバー→[ウィンドウ]をクリックし、プルダウンメニューから[アクション]を選んでアクションウィンドウを表示する
1. PADの操作と同様で、レコーディングボタンをクリックし操作の記録を行う(今回の場合は手順3, 4の、「リンクを再設定」ボタンを押してから画像を配置するまでを記録させる)
1. 作成したアクションをダブルクリックし、ショートカットキーの設定を行う(お好みでどうぞ！)

※ちなみに、アクションで画像の選択からリンクを再設定までの動作をすべて記録させて実行する処理を試しましたが、うまくいきませんでした。

![スクリーンショット 2023-07-19 092708.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/a2c5472e-3f84-1bc8-40de-c058ac985bc2.png)

【PAD】
1. レコーダーを起動し、**alt + w**で[ウィンドウ]を展開する
1. プルダウンメニューから[アクション]を選んでアクションウィンドウを表示する
1. 事前準備で設定しておいたアクションを、ショートカットキーを使用して実行する
<br>




## 作成したフロー

上記で作成したフローがこちらになります。

フロー9までが一連の処理で、複数の画像がある場合、これを繰り返し設定します。

これで、Adobeのillustratorのリンクを差し替える自動化処理が作成できました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/5151e33e-de69-8574-b14e-d13c60282968.png)



## 今後の課題

とりあえず自動化することはできましたが、どのように実用化させるかが今後の課題になります。


#### 課題① 動作が不安定
PADでフローを実行した際、まったく同じフローを実行しているのに、うまくいったりうまくいかなかったりしました。
エラーが発生した時の処理をきちんと実装する必要があります。

また、何回かに一回、なぜかテンプレートの画像が消えてしまう原因不明の現象が起きました。

#### 課題② パスが画像名まで固定になる
アクションでリンクを再設定している影響で、配置する画像のパスが画像名まで固定になってしまいます。
動的に運用していくためには、事前に差し替えたい画像の名前をリネーム＆設定しているパスのフォルダへ移動させ、画像を置き換えておく必要があります。

差し替えたい画像パスのリストをExcel等で作成し、PADでリネーム処理と移動、置換の自動化処理を実装する…という形で模索中です。

差し替えたい画像パスのリストの作成方法など、工夫をしないと手動で作業するのとあまり変わらなくなってしまうように感じるので(フォルダの仕分けに時間がかかりそう)、もう少し考えていきたいです。

![スクリーンショット 2023-07-19 101754.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/6e8cade1-6672-723b-8e1a-b459ee35becb.png)


## おわりに

長くなってしまいましたが、こここまでお読みいただきありがとうございました。

PAD、Adobeともに不慣れな中、手探り状態で処理を作成したため、お手柔らかにお願いします。

他により良い方法が他にありましたらコメントいただけると幸いです。