OCRで取得した文字列をExcelブックに反映する
前回のフローをベースに出力先を個別のテキストファイルではなく、Excelブックのシートに出力するように変更を加えてみます。前回のフローをコピーして、必要箇所だけ変更します。大まかな変更箇所は以下になります。
- フォルダーの代わりに、新規のブックやシートを利用する。
- 1画像フォルダーに対して、1シートとする
- 各画像は、上から順にシートに貼り付ける
[1]新しいフローを作成する
Power Automate for desktopを開きます。トップ画面から[+新しいフロー]をクリックして、適当な名前(ここでは「OCRBookFlow」)で新規のフローを作成します。
前回のフローをコピーして貼り付けます。OCRFlowのデザイナーを開き、[Ctrl]+[A] - [Ctrl]+[C]でコピーして、OCRBookFlowのデザイナーのMainフローを選択し、[Ctrl]+[V]で貼り付けます。
[2]外側のループに入る前にExcelを起動する
[Excel]アクショングループから[Excelの起動]アクションを[datetimeをテキストに変換]アクションと[For each]アクションの間に配置します。
そのまま保存します。
[3]ワークシートを作成する
画像フォルダの情報をまとめるためのシートを作成します。
[フォルダーの作成]アクションを無効化または削除します。それに伴い、[テキストをファイルに書き込む]アクションでエラーが出るので、それも無効化または削除します。
代わりに、[Excel]アクショングループから[新しいワークシートの追加]アクションを配置します。
以下の入力/選択をして保存します。
- 新しいワークシート名:%CurrentFolder.Name%
- 名前をつけてワークシートを追加:最後のワークシート
[4]貼り付ける位置となる行番号変数を初期化する
[変数]アクショングループから[変数の設定]アクションを直後([フォルダー内のファイルを取得]アクションの前)に配置します。
以下の入力をして保存します。
- 変数:%row%
- 値:1
[5]抽出したテキストをクリップボードに設定する
[OCRを使ってテキストを抽出]アクションの直後に[クリップボード]アクショングループから[クリップボードテキストを設定]アクションを配置します。
以下の入力をして保存します。
- クリップボードテキスト:%OcrText%
[6]抽出したテキストをExcelシートに貼り付ける
実行時シートの左端に貼り付けるようにします。
[Excel]アクショングループ[詳細]から[Excelワークシートにセルを貼り付け]アクションを配置します。
以下の入力をして保存します。
- 列:1
- 行:%row%
[7]画像ファイルのパスを変数に設定する
[変数]アクショングループから[変数の設定]アクションを配置します。
以下の入力をして保存します。
- 変数:%ImageFilePath%
- 値:%CurrentFile.FullName%
