QA回答の蓄積(おもにCopilotで調査)
Markdown Table書式
https://qiita.com/Qiita/items/c686397e4a0f4f11683d#%E6%89%8B%E5%8B%95%E3%81%A7%E5%85%A5%E5%8A%9B%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88
Windows 11で画面を録画する方法は、標準機能だけでいくつか用意されています。用途に合わせて選ぶのがスムーズです。
Windowsの標準機能でデスクトップ画面を録画する方法
Windows 11で画面を録画する方法は、標準機能だけでいくつか用意されています。用途に合わせて選ぶのがスムーズです。
1. 最も手軽な「Snipping Tool」
静止画のキャプチャだけでなく、動画撮影も標準で可能です。
-
ショートカットキー:
Windows+Shift+S - 手順:
- 画面上部のメニューでビデオカメラのアイコンを選択。
- 録画したい範囲をマウスでドラッグして囲む。
- 「スタート」ボタンを押すとカウントダウン後に録画開始。
- 特徴: 画面の一部だけを切り取って録画したいときに最適です。
2. ゲーム以外でも使える「Xbox Game Bar」
もともとゲーム用ですが、ブラウザやExcelなどの操作ログを撮るのに向いています。
-
ショートカットキー:
Windows+G - 手順:
- 出てきたパネルの「キャプチャ」ウィンドウにある**●(録画ボタン)**を押す。
-
Windows+Alt+Rでいきなり録画開始も可能です。
- 特徴: マイク音声を含めた録画が簡単。ただし、デスクトップ全体やエクスプローラー(フォルダ画面)は録画できない制限があります。
3. 凝った編集もするなら「Clipchamp」
Windows 11に標準搭載されている動画編集アプリです。
- 手順: 「Clipchamp」を起動 > 「録画と作成」を選択。
- 特徴: 画面録画と同時に**自分の顔(Webカメラ)**を隅に映し込んだり、録画後にそのまま不要な部分をカットしたりできます。
💡 比較表
| ツール | おすすめの用途 | 範囲指定 |
|---|---|---|
| Snipping Tool | 短い操作説明、資料用 | 自由(一部 or 全画面) |
| Game Bar | アプリ単体の操作ログ | ウィンドウ単位 |
| Clipchamp | 解説動画、プレゼン作成 | 自由(カメラ合成可) |
exaBaseで構築方法の支援を受けるプロンプト例
あなたはIT企業の研修部門に所属する、DXツール(Power Platformや生成AI)のシニアアドバイザーです。
【思考プロセス】
{{相談内容}}に対し、{{対象ツール}}を用いた最適な解決策を提案してください。
{{利用者のスキルレベル}}に合わせて、専門用語の解説レベルを調整してください。
常に「業務効率化(DX)」の視点から、具体的なステップを提示してください。
【回答フォーマット】
結論(一言で)
推奨するアプローチ
具体的な手順(Step by Step)
注意点とTips
対話の最初にこのプロンプトを実行すると、そのスレッドの中ではこの設定どおりにふるまい、みなさんの構築を支援します。
結論から申し上げますと、はい、可能です!
Excelを使って行ごとに二次元バーコード(QRコード)を作成するには、主に3つの方法があります。お使いの環境や「どれくらい手軽にやりたいか」に合わせて選んでみてください。
1. 標準機能「アドイン」を使う(一番おすすめ)
Excelの標準機能である「アドイン」を追加するのが、最も簡単で確実な方法です。
- 手順:
- [挿入] タブ > [アドインを入手] をクリック。
- 検索窓に「QR4Office」と入力して追加。
- 右側にパネルが出るので、バーコードにしたいセルの内容を入力(またはリンク)させます。
- メリット: 無料で安全。見た目を確認しながら調整できる。
- デメリット: 大量の行(数百〜数千行)を一度に自動生成するには、少し手動の作業が必要。
2. Google Sheetsの関数を「借りる」方法
Excelの IMAGE 関数(最新版)を使い、GoogleのAPIを利用して生成する裏技的な方法です。
-
数式例:
A1セルにデータがある場合、表示したいセルに以下を入力します。
=IMAGE("https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=" & ENCODEURL(A1)) - メリット: 数式を下にドラッグするだけで、何百行分でも一瞬で生成できる。
- デメリット: インターネット接続が必要。また、GoogleのAPI仕様変更により将来的に使えなくなる可能性がある。
3. VBA(マクロ)を使う
完全自動化したい、あるいはオフラインでも大量に生成したい場合に適しています。
- 仕組み: QRコード生成用のフォントをインストールするか、外部のライブラリ(スクリプト)をVBAから呼び出します。
- メリット: 一度組んでしまえば、ボタン一つで全行のバーコード画像を特定のセルに配置できる。
- デメリット: マクロの知識が必要。
比較まとめ
| 手法 | 手軽さ | 大量生成の向き不向き | ネット環境 |
|---|---|---|---|
| アドイン(QR4Office) | ★★★ | 少量〜中量向き | 不要(初回のみ) |
| IMAGE関数(Google API) | ★★☆ | 大量生成に最適 | 必須 |
| VBA | ★☆☆ | プロ向け・自動化に最適 | 不要(組み方による) |
まずは一番手軽な 「1. アドイン」 で1つ作ってみて、もし「行数が多すぎて1つずつやるのは無理だ!」となった場合は、「2. IMAGE関数」 を試してみるのがスムーズですよ。
具体的な手順を知りたい方法はありますか?例えば、「2の数式の詳しい使い方を教えてほしい」 などあれば、すぐにご説明します!
了解です。PAD(Power Automate Desktop)でやりたいことは次の流れですね:
- PDFから抽出したテキスト(または分割後の行)から
-
660Aで始まる “一連の数字(英数字列)” を見つけて - それを 変数に格納し
- その値で **ファイル名を上書き(リネーム)**したい
以下に、**正規表現で一発で抜く方法(おすすめ)**と、正規表現なしで分割+検索する方法の両方を書きます。
(PDF抽出テキストが1行に収まらないことが多いので、まずは正規表現が安定です)
✅ 方法A(おすすめ):正規表現で「660A…」を抽出 → 変数に → リネーム
0) 前提:抽出したい文字列の定義
あなたの表現「660Aで始まる一連の数字」から、実務的には次のどちらかです:
-
(a)
660A+ 数字だけ
例:660A123456789 -
(b)
660A+ 英数字(A-Z0-9)(PDFで混ざりがち)
例:660A12345B678
まずは 数字だけ想定の正規表現を提示します(必要なら後で英数字版に変更可)。
1) PDFテキストを1つの文字列にする
PDF抽出後に改行が混ざるので、先に正規化します。
アクション例
-
テキストを置換(複数回)
-
\r\n→\n -
\n→(スペース)
(“660A” と数字が改行で分断されても拾いやすくするため)
-
変数例:
-
PdfText(PDFから抽出した元テキスト) -
NormText(改行を潰したテキスト)
2) 正規表現で抽出(最重要)
正規表現(数字だけ版)
660A\d+
PADで使うアクション(代表例)
環境によって名称が少し違いますが、概ね次のどれかがあります:
- 「正規表現を使用して一致を取得」
- 「正規表現に一致するテキストを抽出」
- 「正規表現で一致を検索」
設定イメージ:
- 対象テキスト:
%NormText% - パターン:
660A\d+ - 結果:
Matches(リスト)またはMatchText(テキスト)
取得結果が「リスト」の場合
-
Matches[0]が最初のヒットです
→ これをCode変数へ代入
例:
-
変数を設定
Code = %Matches[0]%
3) ファイル名を上書き(リネーム)
アクション
- ファイル名を変更(または「ファイルを移動」でも可)
例:元ファイル
C:\work\input.pdf
新しいファイル名
660A123456789.pdf
手順(安全な組み立て)
-
パスからファイル名/拡張子を取得
- 例:
BaseName,Extension,FolderPath
- 例:
- 新ファイル名を作成
NewName = %Code%%Extension%
- 新パスを作成
NewPath = %FolderPath%\%NewName%
- ファイル名を変更(元パス → 新パス)
4) 失敗時の分岐(見つからない場合)
抽出できないケースが必ず出ます。実務ではこうします:
- If
Matches.Count = 0- ログ出力
- 例:
Code = "NOTFOUND" - リネームせず退避 or エラー終了
✅ 方法B:分割リストから「660A」を含む行を探して取り出す(正規表現なし)
PDFテキストを改行で分割 → For each で行を走査して、
-
"660A"を含む行を見つける - その行の中から
"660A"以降を切り出す - 余計な記号や空白を除去する
ただし PDFのレイアウト次第で崩れやすいので、方法Aの方が安定です。
✅ 実務でハマりやすい点(先回り対策)
1) 660A と数字が改行で分かれている
→ 改行をスペースに置換してから抽出が効きます。
2) 660A-12345 のようにハイフン等が混ざる
→ 正規表現を少し広げます。
例:660A の後に「数字+ハイフン」許可
660A[\d-]+
3) 桁数が決まっている(例:10桁)
→ さらに精度UPできます。
例:660A + 10桁
660A\d{10}
✅ そのまま組めるPADフロー例(概略)
- PDFからテキスト抽出 →
PdfText - テキスト置換:
PdfTextを正規化 →NormText - 正規表現一致取得:
660A\d+→Matches - 条件分岐:
Matches.Count > 0Code = Matches[0]- 新ファイル名組み立て
- ファイル名変更
- else
- ログへ出力/エラー処理
質問(ここだけ教えてください:精度が一気に上がります)
取り出したいコードの実例に近いのはどれですか?
-
660A+ 数字だけ(例:660A123456) -
660A+ 英数字混在(例:660A12B34) -
660A-1234-567のように 記号が入る - 桁数が決まっている(例:必ず10桁)
それが分かれば、あなたのケースに最適な正規表現と、
**PADのアクション配置(変数名含む)**を「この通りに置けば動く」レベルで具体化します。
02/17 13:40
PAD(Power Automate Desktop)で 「テキストを“テキスト リスト”に出力(追加)したとき、番号(インデックス)や“格納される順番”が変わってしまう」 という現象は、だいたい次のどれかが原因です。
(ここでいう“番号”は、リストの インデックス(0番/1番…)や、ループ内で付けている 連番 の両方を含む前提で書きます)
まず結論:番号が変わる主な理由(よくある順)
1) 0始まり(インデックス)と 1始まり(行番号・連番)の混同
- PADの「リストのインデックス」は 0開始 が基本です。
- 一方、Excelの行番号や人が付ける連番は 1開始 が多いです。
症状例
- 1番目のつもりで
List[1]を参照したら、実際は2番目だった - 途中で「番号がズレた」ように見える
✅ 対策
- “表示用連番” は
index + 1で作る - “参照用” は 0開始に統一する
2) ループの中でリストに追加/削除していて、インデックスが繰り上がる
ループ中に
リストに項目を追加リストから項目を削除-
リストをクリア
などをすると、以降の要素のインデックスが変化します。
典型例(削除)
- i=3 の要素を削除 → もともと i=4 だった要素が i=3 に繰り上がる
→ そのまま i を増やすと 要素を1個飛ばす / ズレる
✅ 対策
- 削除がある場合は 後ろから前に向かって ループする
- もしくは削除せず、別の新しいリストに“残すものだけ”追加して作り直す(安定)
3) 「挿入(Insert)」していて先頭や途中に入っている
PADには
- 末尾に追加(Append)
- 指定位置に挿入(Insert)
があり、挿入を使うと 既存の要素が後ろにズレます。
✅ 対策
- 順番を保ちたいなら、基本は 末尾に追加 を使う
- Insert を使うなら、挿入位置が固定か、期待通りに計算できているか確認
4) “並べ替え(Sort)”や“重複削除(Distinct)”をしている
途中で
- ソート
- 重複削除
- フィルター
をすると、当然 順番が変わり、「番号が変わった」ように見えます。
✅ 対策
- ソート前の順番が必要なら、
(連番, 値) のように“元の順番”を保持してから処理する - 重複削除したいなら、「最初に出た順を残す」か「ソートしてから残す」かを明確化
5) For each が “元リスト” を参照していて、途中で元が変わる
For each で回している対象リストを、同じループ内で変更すると
- 走査順や要素数が変わる
- 予期しない停止/飛びが起きる
ことがあります。
✅ 対策
- ループ開始前に コピーしたリストを作り、コピーを走査する
- 元リストは変更しない(変更が必要なら別リストに出力)
6) UI要素取得など、“取得結果が毎回同じ順で返らない”
「Webページの要素一覧」「ウィンドウ内の要素一覧」「ファイル一覧」などは、取得の瞬間によって
- 表示順
- 読み込み順(DOM順)
- OSが返す順(ファイル列挙順)
が変わることがあります。
✅ 対策
- 取得後に 明示的にソートする(名前順、日時順など)
- もしくは キー(IDやテキスト)で安定判定して扱う
7) 非同期(待機不足)で“まだ揃ってない結果”をリスト化している
特にWebやUIでは、
- まだ要素が全部表示されていない
- リストが動的に追加される途中
のタイミングで取得すると、回ごとに件数や順序が変わります。
✅ 対策
- 「要素が現れるまで待機」
- 「特定の件数になるまで待つ」
- 「読み込み完了の目印(ラベル等)を待つ」
“番号(連番)”がズレるときの鉄板パターンと修正
パターンA:連番を「リストのインデックス」に頼っている
- フィルター/削除/挿入/重複削除でインデックスが変わる → 連番がズレる
✅修正:連番用のカウンタ変数を別で持つ
-
counter = counter + 1で付番し、リスト操作の影響を受けないようにする
パターンB:削除しながら前から回している
✅修正:後ろから回す or 新リストに詰め替え
ここから“原因特定”を一発で進めたいので質問(2つだけ)
状況によって答えがピンポイントになります。どちらか教えてください。
-
その「番号」はどれですか?
- A) リストのインデックス(0,1,2…)
- B) 自分で付けている連番(1,2,3…)
-
リストに入れる操作はどれですか?
- 末尾に追加(Append)
- 指定位置に挿入(Insert)
- ループ中に削除もしている
- ソート/重複削除/フィルターもしている
この2点が分かれば、あなたのフローに合わせて
「なぜ変わるか」→「どう直すか(具体的なPADの置き方)」 をそのまま書きます。
14:20
はい、Power Automate for desktop(PAD)で「途中で失敗した処理を、次回その続きから再開する」ことは可能です。
ただし 自動で完全再開する機能は無いため、設計で実現する形になります。
以下に 実務でよく使われる再開方法を、分かりやすく整理します。
結論(先に要点)
- ✅ 続きから再開は可能
- ❌ 「自動で前回の続きから再開」ボタンはない
- ✅ 進捗を保存しておいて、次回そこから処理する設計にする
方法①:進捗(ステップ・行番号)をファイルに保存する【最も一般的】
考え方
「今どこまで終わったか」を 外部に記録しておき、
次回起動時にそれを読んで 途中から処理を再開します。
例:Excelの行処理を途中再開したい場合
① 進捗保存用ファイル(例:status.txt)
15
→「15行目まで処理済み」という意味
② フローの流れ
- フロー開始時
-
status.txtを読み込む - なければ
0とする
-
- Excelを読み込み、For each(行ループ)
- 現在の行番号 > 保存された行番号 の場合のみ処理
- 各行の処理が正常終了したら
- 現在の行番号を
status.txtに上書き保存
- 現在の行番号を
- 途中で失敗しても
- 次回は 前回の続きから再開
✅ 途中で止まっても安全
✅ バッチ処理で非常によく使われる
方法②:処理済みデータに「完了フラグ」を付ける
考え方
データ自体に「この行は処理済み」という印を付ける。
例:Excelに「処理済み」列を追加
| データ | 処理済み |
|---|---|
| A | 済 |
| B | |
| C |
フローの流れ
- Excelを読み込み
- For each 行
- 処理済み ≠ "済" の行だけ処理
- 正常終了したら「処理済み = 済」を書き込み
- エラー時はそこで停止
✅ 再開が非常に簡単
✅ 人が見ても分かりやすい
❌ 元データを書き換えられない場合は不可
方法③:Try / Catch(エラーハンドリング)+ログ
考え方
- エラーが起きてもフローを即終了させない
- 失敗した位置をログに残す
PADでの実装イメージ
- 「エラー発生時の処理」を設定
- エラー時に:
- 現在の処理ID
- 行番号
- 対象データ
をログファイルに書く
次回:
- ログを読んで 失敗した位置から再開
✅ 原因調査にも使える
✅ 大規模フロー向き
方法④:処理単位を小さく分ける(フロー分割)
考え方
- 1つの巨大フローにしない
- 「前処理」「メイン処理」「後処理」を分ける
例
- フローA:データ準備
- フローB:1件処理(失敗しても影響小)
- フローC:後処理
✅ 再実行が楽
✅ 保守性が高い
「途中から再開」設計で必ず守るポイント
実務で重要です。
- ✅ 成功したタイミングでのみ進捗を保存
- ✅ 失敗時は進捗を更新しない
- ✅ 再実行しても二重処理にならない設計
- ✅ 進捗ファイルが壊れた場合の初期値対応
よくあるNG例
❌ フローの途中で強制終了 → 何も残らない
❌ 進捗保存を処理前にしている
❌ 再実行すると同じデータを再処理してしまう
結論まとめ
| 観点 | 回答 |
|---|---|
| 途中再開できる? | ✅ できる |
| 標準で自動再開? | ❌ ない |
| 実務での正解 | ✅ 進捗を外部保存して再開 |
次にできること(具体化できます)
もしよければ教えてください。
- 途中で失敗するのは どんな処理ですか?
- Excel行処理 / Web操作 / ファイル処理 など
- 再開単位は?
- 行単位 / ファイル単位 / 1件処理単位
- 進捗保存先は?
- テキスト / Excel / データベース
これが分かれば、そのままPADで組める具体的なアクション構成を例付きで書きます。
はい、できます。
入力フォームを出さずに、あらかじめ用意したテキスト(設定値・条件リスト)を読み込んで、それをそのままフィルター等に使って処理を続けるというやり方は、Power Automate for desktop(PAD)では かなり一般的な実装です。
以下、代表的なやり方をシンプルに説明します。
全体の考え方(超要約)
- 事前に用意したテキスト(ファイル/変数/Excelなど)から値を読む
- 読み込んだ値を 変数に格納
- その変数を フィルター・条件・検索条件に代入して処理を継続
方法①:テキストファイル(.txt)に条件を書いておく(よく使われる)
例:config.txt
ABC
DEF
GHI
処理の流れ
-
「テキスト ファイルを読み取り」
- ファイル:
config.txt - 出力:
TextContent
- ファイル:
-
「テキストを分割」
- 区切り文字:改行
- 出力:
FilterList(リスト変数)
-
「For each」
- 値:
FilterList - 現在の値:
CurrentFilter
- 値:
- フィルターや検索条件に
👉CurrentFilterをそのまま使う
向いているケース
- フィルター条件を人が直接編集したい
- 簡単に差し替えたい
- バッチ処理・夜間処理
方法②:PAD内の「変数(リスト)」に固定値を持たせる
例
FilterList = ["ABC", "DEF", "GHI"]
処理の流れ
- 「変数を設定」 でリストを定義
- For each で1件ずつ処理
- 各値をフィルター条件に使用
向いているケース
- 条件が あまり変わらない
- フローを触れる人が限られている
- ファイル管理をしたくない
方法③:Excelを「設定ファイル」として使う(実務で一番多い)
Excel例(Config.xlsx)
| FilterValue |
|---|
| ABC |
| DEF |
| GHI |
処理の流れ
- Excel起動 → シート読み込み
-
「Excel ワークシートを読み取り」
- 出力:
ExcelData(データテーブル)
- 出力:
-
For each
- 現在の行:
CurrentRow
- 現在の行:
-
CurrentRow['FilterValue']をフィルターに使用
向いているケース
- 業務ユーザーが条件を編集する
- 条件が複数列(種別/日付/フラグなど)
- 将来条件が増えそう
方法④:JSON / CSV などの設定ファイルを読む(上級寄り)
- JSON や CSV を設定ファイルとして管理
- 環境ごとに条件を切り替える
(本番/検証など)
👉 PAD標準アクションだけで読み取り可能
フィルターへの使い方(共通)
読み込んだ値は 普通の変数なので、以下にそのまま使えます。
- ✅ Excelのオートフィルター
- ✅ 条件(If)
- ✅ Web検索キーワード
- ✅ アプリ画面の検索欄入力
- ✅ ファイル名の部分一致
- ✅ SQL / API パラメータ(文字列として)
安定させるための必須ポイント
実務では必ず入れた方がいいです。
- Trim(前後空白削除)
- 空行チェック(空ならスキップ)
-
コメント行除外(
#で始まる行は無視 など) - 存在チェック(設定ファイルが無い場合のエラー制御)
結論
✅ 入力フォームを出さずに
✅ 事前に用意したテキスト(設定値)を読み込み
✅ それをそのままフィルターや条件に使って処理を続ける
これは Power Automate for desktopで完全に可能で、
テキスト / Excel / 変数リスト のどれでも実装できます。
次にできること
もしよければ、次を教えてください。
- 設定値は 1件ずつ処理ですか?(複数同時?)
- フィルター先は Excel / Web / アプリ画面 のどれですか?
- 設定値は 文字列・日付・数値のどれですか?
それに合わせて、**具体的なPADアクション順(そのまま作れるレベル)**で書きます。
14:15
はい、Power Automate for desktop(PAD) では「処理の途中でユーザーに値を入力させて、その値を後続のフィルターや条件分岐、検索条件などに代入して処理を続行する」ことは 実現可能です。目的に応じて、主に次の方法があります。
実現方法(代表的な3パターン)
① いちばん簡単:入力ダイアログで値を受け取る(推奨)
処理の途中でユーザーに入力させたいだけなら、PAD 標準アクションの 「入力ダイアログを表示」(または類似の「ユーザーからの入力を取得」系)を使います。
できること
- 文字列、数値、日付っぽい文字列などを入力してもらう
- 入力値を 変数 に格納して後続処理に利用
- 未入力(空)なら再入力させるなどの制御も可能
手順(イメージ)
- フローの途中に 「入力ダイアログを表示」 を追加
- メッセージに「フィルター条件を入力してください(例:ABC)」などを書く
- 出力を変数(例:
%FilterValue%)に保存 - 後続の
- 「条件」
- 「テキストを含む/等しい」
- 「Excelのフィルター」
- 「フォルダー内ファイルの絞り込み」
- 「Web/UIでの検索欄への入力」
などで%FilterValue%を使用して処理を継続
例:入力→空なら再入力→フィルターに使う(考え方)
-
FilterValueが空なら「メッセージ表示」して再度入力させる - 空でなければ次へ進む
✅ “途中で人に聞いて続ける” の用途にはこれが最速です。
② 複数項目を入力させたい:カスタムフォーム(複数入力)
入力項目が「日付From/To」「部署」「ステータス」「キーワード」など複数ある場合は、単発ダイアログを何度も出すより、**フォーム系(カスタム入力)**が向いています。
向いているケース
- 入力が2項目以上ある
- ドロップダウンやチェックボックスで選ばせたい
- 入力ルール(必須、桁、形式)をまとめて制御したい
進め方(概要)
- 「カスタムフォームを表示(またはフォーム系アクション)」を使う
- テキストボックス、ドロップダウン等を配置
- 送信された値をそれぞれ変数に格納(例:
%FromDate%,%ToDate%,%Status%) - 後続で条件分岐やフィルター条件に代入
✅ “入力UIをちゃんと作りたい” 場合に便利です。
③ “Excelフィルターに入れたい” 場合:入力値 → Excelのフィルター条件へ
ユーザー入力値を Excel のオートフィルター等に使う流れは、基本的にこうです。
手順(概要)
- 入力ダイアログ等で
FilterValueを取得 - Excel を起動して対象ブック・シートを開く
- 対象範囲(テーブル/列)にフィルターを適用
- フィルター条件に
FilterValueを指定(「等しい」「含む」「開始する」など)
※Excel 側の列型(数値/日付/文字列)に応じて、入力値の整形(前後空白削除、日付形式変換など)を挟むと安定します。
実装を安定させるコツ(重要)
以下を入れるだけで運用がかなり楽になります。
-
前後空白の除去:ユーザー入力にスペースが入りがち
- 例)
Trim相当の処理(テキスト操作)を入れる
- 例)
- 空入力チェック:空なら再入力 or デフォルト値を設定
- 形式チェック:日付や数値の場合、変換できない入力は弾く
- キャンセル時の挙動:キャンセルなら処理中断/既定値で続行を決める
結論:実現可能。やり方は「入力→変数→後続で参照」
あなたの要望(途中入力 → フィルター等へ代入 → 続行)は、PAD の 標準機能だけで十分実現可能です。
最短は 入力ダイアログで変数に入れて、その変数をフィルター条件に使う です。
追加で教えてください(最適な手順に落とし込みます)
より具体的に、最短のアクション構成を例付きで書くために、次だけ教えてください。
- 入力させたいのは 1項目ですか?(複数?)
- フィルター先はどれですか?
- Excel / Web検索 / フォルダー内ファイル / CSV / 画面UI(アプリ) など
- 入力値の例(文字列・日付・数値など)を1つだけでも
これが分かれば、あなたのケースに合わせた 具体的なPADアクション順(例:使用アクション名、変数名、チェック方法)を短くまとめて提示します。
もちろんできます。結論から言うと「Excelは比較的ラク」「PDFは“キーワードがPDF本文にあるかどうか”で難易度が変わる」ので、要件に合わせて Power Automate Desktop(PAD)中心か、クラウド+(必要なら)PAD呼び出しのどちらかで組むのが現実的です。
まず確認したいゴール(ここで難易度が決まります)
あなたの「キーワードで抽出して一つのPDFに統合」は、だいたい次のどれですか?
- ファイル名にキーワードが含まれるPDF/Excelだけ集めて結合
- PDFの本文テキストにキーワードがある「該当ページだけ」抜き出して結合
- **Excelの行(レコード)**をキーワードで絞ってPDF化 → PDFと一緒に結合
- Excelのシート単位で抽出してPDF化 → 結合
一般に
- ①はクラウドでも簡単
- ③④もクラウドでそこそこ可能
- ②(PDF本文検索+ページ抽出)はクラウド単体だと制約が多く、PADが得意です(特にスキャンPDFだとOCRが必要)
おすすめ:PAD(Power Automate Desktop)で完結(PoC向き)
PADはPDF操作(抽出/分割/結合)とExcel操作が得意なので、今回の「キーワード抽出→1つのPDFに統合」は一番まっすぐ作れます。
PAD構成イメージ(全体)
- 入力フォルダを走査(PDF/XLSX)
- PDF:キーワードが含まれるページ番号を特定 → 該当ページだけ新PDFに抽出
- Excel:キーワードで行をフィルタ → 一時Excelへ書き出し → PDFで保存
- 生成したPDF群を最後に Merge(結合) → 1つのPDFに
手順(PAD):PDFをキーワードでページ抽出 → 結合
※アクション名は環境で微妙に表記が違うことがありますが、概念は同じです
1) 変数準備
-
InputFolder:入力フォルダパス -
OutputPdf:統合後PDFの出力パス -
Keywords:キーワード(複数ならリスト) -
PdfToMerge:結合対象PDFのパスを溜めるリスト -
TempFolder:一時ファイル置き場(例:%TEMP%\merge_work\)
2) フォルダ内ファイルをループ
-
「フォルダ内のファイルを取得」 →
Files -
「For each」
CurrentFile in Files- 拡張子で分岐(
.pdf/.xlsx)
- 拡張子で分岐(
3) PDF処理(本文検索 → 該当ページ抽出)
パターンA:テキストPDF(コピーできるPDF)
- PDFからテキストを抽出(ページごとにテキストが取れるタイプが理想)
- ページごとに
Containsでキーワード一致判定 - 一致したページ番号を
MatchedPagesに追加 -
MatchedPagesが1つでもあれば-
「PDFからページを抽出」(ページ範囲指定)→
TempFolder\xxx_extracted.pdf - そのパスを
PdfToMergeに追加
-
「PDFからページを抽出」(ページ範囲指定)→
✅ ここまでができれば、最後に「PDFを結合」で完成です。
パターンB:スキャンPDF(画像PDF)
- OCRが必要です。PADでOCRできる場合は「OCRでテキスト取得」→上記と同様
- もしOCRが弱い/精度が要る場合は
- **AI Builder(クラウド側)**でテキスト化 → PADに渡す
- もしくは専用PDFコネクタ(プレミアム)活用
が現実的です。
4) Excel処理(キーワード抽出 → PDF化)
Excelは「どこを抽出するか」で2通りあります。
4-1) 行(レコード)を抽出したい場合(おすすめ)
- Excelを起動 → ブックを開く
- ワークシートを読み取り(データテーブルへ)
- データテーブルをフィルタ(対象列にキーワードが含まれる行だけ)
- 抽出した結果を新しいブックへ書き込み
-
PDFとして保存(エクスポート) →
TempFolder\xxx_excel.pdf - そのPDFを
PdfToMergeに追加 - Excelを閉じる
✅ “抽出結果だけをPDF化”できるので、要件に合いやすいです
4-2) シート単位で抽出したい場合
- シート名にキーワード
- あるいはシート内検索
で該当シートだけPDF保存 →PdfToMergeに追加
5) 最後に統合PDFを作成
-
「PDFを結合」(
PdfToMergeの順番どおり)
→OutputPdfに出力
ここで「並び順(ファイル名順、日時順、PDF→Excelの順…)」は要件で決めておくと仕上がりが安定します。
クラウド(Power Automate)だけでやる場合(できる範囲と限界)
✅ 得意:Excel抽出
- SharePoint/OneDrive上のExcelなら
- “表(テーブル)”になっていることが条件で
-
「List rows present in a table」 → Filter array → 出力生成
が可能です。
ExcelをPDF化する方法
- 抽出結果をHTMLテーブルにして
- Wordテンプレートに差し込み → PDF化(仕組みを作る)
- またはコネクタで変換(環境によって可否やライセンスが変わります)
⚠️ 苦手:PDF本文検索→該当ページ抽出
クラウド標準だけだと「PDFのページ単位抽出」や「本文検索」が弱いことが多く、
- AI Builderでテキスト抽出(ただし“ページ抽出”まで一気通貫は工夫が必要)
- プレミアムPDFコネクタ(Encodian/Muhimbi等)でページ抽出
-
クラウド→PAD呼び出し(ハイブリッド)
のいずれかが現実的です。
実装のおすすめ(あなたの要件に一番合う現実解)
PoC(機能確認)なら:PADで完結
本番運用(SharePoint監視や定期実行)なら:
クラウドでトリガー→必要ならPAD(無人)で実処理
が「作りやすさ・保守性・精度」のバランスが良いです。
追加で教えてほしい(ここだけ分かれば、手順をあなた用に確定できます)
- キーワードは **PDF/Excelの“本文”**を検索ですか?それとも ファイル名ですか?
- PDFは テキストPDFですか?(コピーして文字選択できます?)それとも **スキャン(画像)**ですか?
- Excelは 行を抽出したいですか? シート単位ですか?(対象列名も)
- ファイル置き場はどこですか?(ローカルフォルダ / OneDrive / SharePoint)
- 統合PDFの並び順:ファイル名順でOK?それとも「PDF→Excel→PDF…」などルールありますか?
もしよければ、今の想定でいいので
- 入力フォルダの例(SharePointならライブラリ名/パス)
- キーワード例(1つでも)
-
Excelのサンプル構造(列名)
を教えてください。
それに合わせて **PADの具体アクション列(変数名、条件式、例外処理、ログ)まで落とした“そのまま組めるレシピ”**を作ります。
ExaBaseをトラブルシュータとして動作制御する
あなたはPowerPlatformシリーズとexaBase生成AIのトラブルシューティングプロフェッショナルです。
PowerPlatformとexaBaseが期待通り動くよう、様々な方法で支援を行います。
Power Automate AI Builderは使えません。
1.画面ショット、画像、エラーコード、ユーザーのインプットのいずれかからどのような問題が発生しているのかを確認し、簡潔に言語化します。正しい理解であるかどうかをユーザーに確認し、同意を得られたら次に進みます。
2.Microsoftのサイトを最優先の情報ソースとします。
3.その他のインターネット情報を次善の情報ソースとします。
4.出力をします。
-発生しているトラブルの要点定理
-トラブル解消のための実施手順
-手順の目的を簡潔に説明
-手順の実施結果を要求
5.ユーザーが「解決しました」というまで繰り返します。
10:29
了解です。
**「生成AIのエクサベース(exaBase)を使って、メール+PDFから人財派遣の人財情報を“項目×内容”で整理し、Excelに集計保存したい」**という前提で、実現可能か/どう設計すればよいかを 実務目線で具体化します。
※ここでは exaBase 生成AI(RAG/業務特化生成AI基盤)+ ドキュメントインテリジェンス相当の使い方として整理します。
(exaBase自体がOCRエンジンを内包するケースと、外部OCR連携するケースの両対応で説明します)
全体結論(先に)
✅ 可能
✅ メール本文+PDF添付から人財情報を自動で項目化(Key-Value化)できる
✅ 最終的にExcel(.xlsx)へレコード集計・保管できる
ポイントは
- ① OCR(PDF → テキスト)
- ② 生成AIで「項目定義に沿った抽出」
-
③ JSON → Excel 変換
の3段構えです。
① やりたいことを業務要件に分解
入力
- メール本文
- メール添付PDF(派遣契約書/人財情報シート 等)
出力
- 人財1名=1レコード
- 項目と内容がセット
- Excelで集計・管理
想定項目例(人財派遣)
| 分類 | 項目例 |
|---|---|
| 基本 | 氏名、フリガナ、生年月日 |
| 雇用 | 雇用形態(派遣/契約)、派遣元会社 |
| 契約 | 契約開始日、契約終了日 |
| 保険 | 健康保険、厚生年金、雇用保険 |
| 連絡 | メール、電話番号 |
👉 この「項目定義」が生成AI抽出の設計図になります
② システム構成(エクサベース前提)
[メール]
│
├─ 本文(テキスト)
└─ 添付PDF
│
▼
【OCR / PDFテキスト化】
│
▼
【exaBase 生成AI】
├─ 項目定義プロンプト
├─ 人財情報抽出
└─ JSON出力
│
▼
【Excel変換・保存】
③ exaBaseでの「ドキュメントインテリジェンス的」使い方
exaBase単体で重要なのは
👉 「生成AIに何を抜かせるかを明示する」こと
1️⃣ 項目固定型プロンプト(超重要)
プロンプト例(概念)
以下のメール本文およびPDF内容から、
人財派遣に関する人財情報を抽出してください。
【抽出項目】
- 氏名
- フリガナ
- 生年月日
- 雇用形態
- 派遣元会社
- 契約開始日
- 契約終了日
- 健康保険
- 厚生年金
- 雇用保険
【出力形式】
JSON形式で、項目名と内容をセットで出力してください。
情報が存在しない場合は null としてください。
✅ これにより
- 曖昧な要約 → ❌
- レコード化された結果 → ✅
になります。
2️⃣ メール+PDFをまとめて渡す
exaBaseでは以下が可能:
- メール本文:そのまま入力
- PDF:
- exaBase内OCR
- または事前にOCR済みテキストを連携
生成AIは 「複数ソースを統合して判断」 できます。
👉
「メールには契約期間、PDFには保険情報」
のようなケースでも 1レコードに統合可能
④ 出力(JSON → Excel)
生成AIの出力例(理想形)
{
"氏名": "山田 太郎",
"フリガナ": "ヤマダ タロウ",
"生年月日": "1990-04-01",
"雇用形態": "派遣社員",
"派遣元会社": "株式会社ABCスタッフ",
"契約開始日": "2025-04-01",
"契約終了日": "2026-03-31",
"健康保険": "加入",
"厚生年金": "加入",
"雇用保険": "加入"
}
Excelへの落とし方
方法A:Power Automate / RPA連携(実務向き)
- JSON → 行データ
- Excelの1行=1人財
- 自動追記
方法B:バッチ処理
- JSON配列 → pandas / Excel書き込み
- 月次・日次集計向け
✅ exaBaseは「考える役」
✅ Excel化は「流す役」
と役割分担すると安定します。
⑤ 実務でハマりやすい注意点(重要)
✅ うまくいく条件
- 項目を固定する
- null許容にする
- PDF帳票が極端にバラバラでない
⚠️ 注意点
- 手書きPDF → OCR精度に依存
- 「氏名っぽい文言」が複数ある場合
→ 「正式氏名を優先」など指示が必要 - 個人情報
→ exaBaseの 閉域・ログ管理設定必須
⑥ まとめ(設計としての答え)
| 観点 | 回答 |
|---|---|
| exaBaseで可能? | ✅ 可能 |
| メール+PDF統合 | ✅ 可能 |
| 項目×内容整理 | ✅ JSONで可能 |
| Excel集計 | ✅ 自動化可能 |
| 実務耐性 | ✅ 設計次第で高い |
次のステップとしておすすめなのは:
1️⃣ 人財台帳の正式項目リスト作成
2️⃣ 実際のPDF 2〜3枚でPoC
3️⃣ プロンプトを1本に固定
必要であれば次に
- 実際に使える「確定版プロンプト」
- Excel列設計(そのまま使える形)
- RPA/Power Automate連携イメージ
どれを出しますか?