無償デスクトップ自動化ツール「Power Automate Desktop」のOCR処理の結果をExcelに出力する
Power Automate Desktopチュートリアル 第24回
ダウンロード サンプルファイル (1.4 KB)
OCRで取得した画像ファイルをExcelブックに反映する
[8]サブフローを作成する
ここで、メインフローを保存して、そのままにし、実行時に画像ファイルを「フォト」アプリで開いて、画像をクリップボードにコピーするサブフローを作成します。
画面上部の「サブフロー」ドロップダウンから、[新しいサブフロー]をクリックします。名前を[Image2Clipboard]として保存します。
デザイナーでのメインフローとサブフローは画面上部のタブを選択することで切り替えます。
[9]サブフローの入力変数を指定する
メインフローで定義された変数を[入力変数]として指定することでサブフローでも使用できます。逆にサブフローで定義した変数を[出力変数]として指定することで、呼び出し後のメインフローで使用することができます。
変数ペインの[入出力変数]から「+」ボタンをクリックして[入力]を選択します。
以下の入力/選択をして保存します。
Mainフローの変数(外部名で指定する名前の変数)をサブフローで使う変数(名前:変数名)に引き継ぎます。
- 変数名:ImageFilePath
- データの種類:テキスト(既定値)
- 外部名:ImageFilePath
- 説明:画像ファイルのパス
「変数名は既に使用されています」のダイアログでは[続行]をクリックします。
[10]画像ファイルと関連付けられている「フォト」で開く(サブフロー)
エクスプローラーで画像ファイルをダブルクリックした時と同様な処理を実現します。
[システム]アクショングループから[アプリケーションの実行]アクションを配置します。
以下の入力/選択をして保存します。
- アプリケーションパス:%ImageFilePath%
[11]サブフローを1秒待機する
ウィンドウを開いた直後にキーアクションを実行すると、失敗することがあるので、1秒待機します。[フローコントロール]アクショングループから[Wait]アクションを配置し、期間を1にして保存します。
以下の入力をして保存します。
- 期間:1
[12]画像をクリップボードにコピーする
コピーのショートカットキー[Ctrl]+[C]を押す操作をシミュレートします。[マウスとキーボード]アクショングループから[キーの送信]アクションを配置します。
以下の入力/選択をして保存します。
- 送信するテキスト:{Control}({C})
{}はキーボードのキーに対応しています。{Control}はControl(Ctrl)キーを表します。Control(Ctrl),Alt,Shift,Windowsの各「修飾キー」は押しながら他のキーを押すことでショートカットを実行できます。[キーの送信]アクションの設定では、[修飾キーの挿入]ドロップダウンから選択でも、「{Control}()」が[送信するテキスト]に入力できます。()の中は、同時に押すキーを指定します。{Control}({C})の指定で実行時には[Ctrl]+[C]が実行されます。
[フォト]アプリでは、開いている画像をクリップボードにコピーする操作を実行します。
[13]サブフローを1秒待機する
同様に、[フローコントロール]アクショングループから[Wait]アクションを配置し、期間を1にして保存します。
フローですでに置いた同じアクションをコピー&ペーストして移動してきても構いません。
[14]フォトアプリを閉じる
[フォト]アプリを閉じるショートカットキー[Alt]+[F4]を押す操作をシミュレートします。[マウスとキーボード]アクショングループから[キーの送信]アクションを配置します。
以下の入力/選択をして保存します。
- 送信するテキスト:{Alt}({F4})
[15]メインフローからサブフローを呼び出す
ここで、メインフローのタブに戻ります。[フローコントロール]アクショングループから[サブフローの実行]アクションを[ImageFilePath]変数の設定の次に配置します。
以下の選択をして保存します。
- サブフローの実行:Image2Clipboard
[16]クリップボードの画像をExcelシートに貼り付ける
実行時に、抽出テキストの右側に元画像を貼り付けます。
[Excel]アクショングループから[Excelワークシートにセルを貼り付け]アクションをループの内側に配置します。上に置いた同じアクションをコピー&ペーストしてドラッグ&ドロップして設定を開いても構いません。
以下の入力をして保存します。
- 列:15
- 行:%row%
[17]行番号変数の値を増加させる
[変数]アクショングループから[詳細]-[変数を大きくする]アクションをループの内側に配置します。
以下の入力をして保存します。%row%は貼り付け先の行を表します。
- 変数名:%row%
- 大きくする数値:70(環境や画像サイズによるので実行後必要なら調整してください)
[18]不要なシートを削除する
既定であって使用していなかったシート「Sheet1」を削除します。
[Excel]アクショングループ[詳細]から[Excelワークシートを削除]アクションを外側のループの外に配置します。
以下の入力をして保存します。
- ワークシート名:Sheet1
[19]ブックを保存してExcelを閉じる
[Excel]アクショングループから[Excelを閉じる]アクションを最後に配置します。
以下の入力をして保存します。
- Excelを閉じる前:名前を付けてドキュメントを保存
- ドキュメント形式:Excelブック
- ドキュメントパス:%BaseFolder%\Excelbook\Result_%FormattedDateTime%.xlsx
[20]実行する
フローを保存して、実行します。
Excelbookフォルダーにブックが保存され、各画像フォルダーに対応したシートに抽出テキストと元画像が上から順に貼り付けられていることが確認できます。
まとめ
Power Automate for desktopで、画像ファイル中の文字列を抽出するサンプルを紹介しました。画像データから機械的に判断が容易なテキストデータを抽出することで、人手が必要だった作業もコンピュータに任せることができ、「自動化」できる作業の幅が広がることが期待できます。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- Power Automate Desktopチュートリアル連載記事一覧
-
- 無償デスクトップ自動化ツール「Power Automate Desktop」のブロックエラ...
- 「Power Automate Desktop」のエラー処理──自動化フローを停止させない...
- 無償デスクトップ自動化ツール「Power Automate Desktop」のOCR処理の...
- この記事の著者
-
WINGSプロジェクト 飯島 聡(WINGSプロジェクト イイジマ サトシ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
