メインコンテンツまでスキップ

クリップボードからデータを取得する

Power Automate Desktop ではキーボードの入力をハードウェアとして実行できるため、ユーザーが行うコピーアンドペーストのような操作を再現することが可能ですが、アクションを利用することで直接クリップボードを操作することができます。

今回はクリップボードからテキストデータを取得する方法を解説します。

使用するアクション

今回使用するのは、「クリップボード テキストを取得」というアクションです。

「クリップボード テキストを取得」アクションの詳細

アクションは以下のパラメーターを持ちます。

パラメーター名
生成された変数クリップボードのテキストデータを格納する変数名

action

クリップボードはユーザーが操作するものと共有されているため、実行前に何らかのデータをクリップボードにコピーしていた場合はその値が参照されます。

機密情報の取り扱いに注意してください。

コピーアンドペーストで実装

今回はサンプルとして、メモ帳を開いてメッセージを入力し、その内容をクリップボードを介して変数に格納するフローを用意しました。

以下のコードをコピーし、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 を操作して実装

  1. 「アクションの検索」から、「クリップボード テキストを取得」と入力します。

  2. パラメーターを以下のように設定します

    パラメーター名
    生成された変数%ClipboardText%
  3. 実行することで、実行されたタイミングのクリップボードのテキストデータが変数に格納されます。

起こりうる例外

クリップボードには、テキスト以外にも様々なデータが保存されます。

クリップボードのデータが取得可能な形式でない場合、エラーとなる可能性があります。

ブロック処理を実装しておくことをおすすめします。