クリップボードからデータを取得する
Power Automate Desktop ではキーボードの入力をハードウェアとして実行できるため、ユーザーが行うコピーアンドペーストのような操作を再現することが可能ですが、アクションを利用することで直接クリップボードを操作することができます。
今回はクリップボードからテキストデータを取得する方法を解説します。
使用するアクション
今回使用するのは、「クリップボード テキストを取得」というアクションです。
「クリップボード テキストを取得」アクションの詳細
アクションは以下のパラメーターを持ちます。
パラメーター名 | 値 |
---|---|
生成された変数 | クリップボードのテキストデータを格納する変数名 |
クリップボードはユーザーが操作するものと共有されているため、実行前に何らかのデータをクリップボードにコピーしていた場合はその値が参照されます。
機密情報の取り扱いに注意してください。
コピーアンドペーストで実装
今回はサンプルとして、メモ帳を開いてメッセージを入力し、その内容をクリップボードを介して変数に格納するフローを用意しました。
以下のコードをコピーし、Power Automate Desktop の編集画面に貼り付けることで、対象のアクションが追加されます。
System.RunApplication.RunApplicationAndWaitToLoad ApplicationPath: $'''notepad''' WindowStyle: System.ProcessWindowStyle.Normal Timeout: 0 ProcessId=> NotepadProcessId WindowHandle=> WindowHandle
WAIT 1
MouseAndKeyboard.SendKeys.FocusAndSendKeys TextToSend: $'''テストフローが実行中です{Control}(a){Control}(c)''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False
Clipboard.GetText Text=> ClipboardText
Power Automate Desktop を操作して実装
「アクションの検索」から、「クリップボード テキストを取得」と入力します。
パラメーターを以下のように設定します
パラメーター名 値 生成された変数 %ClipboardText% 実行することで、実行されたタイミングのクリップボードのテキストデータが変数に格納されます。
起こりうる例外
クリップボードには、テキスト以外にも様々なデータが保存されます。
クリップボードのデータが取得可能な形式でない場合、エラーとなる可能性があります。
ブロック処理を実装しておくことをおすすめします。