見出し画像

Power Automate DesktopにてExcel検索をCtrl+Fからしてみたハナシ

★Excel検索・置換のアクションが追加されました!★
2021年8月のアップデートで、アクション「Excelワークシート内のセルを検索して置換する」が追加されました🙌✨
note書きましたので、よければこちらもご覧ください😋
Power Automate DesktopにてExcel検索を新アクションでやってみたハナシ

*このnoteは、ロボ研Askeyさんの「100本ノック」の動画を拝見してから書いています

前回は背伸びしてSQLなんてオサレなものを使ってみましたが、今回は地道にCtrl+Fで表示した検索ボックスを使用した方法についてアウトプットします。
がんばるぞ!💪カキーーーン!!⚾ ← やりたかった

【事前準備】用意したExcelデータ

わかりやすく前回と同じものを使用します。
左:おみやげデータ.xlsx       右:出張先リスト.xlsx

画像1

おみやげデータの「県」を出張先リストで検索し、「おみやげ」を出張先リストに転記していきますよ~🥳

① 出張先リストを開く

ここからフローの作成に入ります。
前回とかぶるので、説明は はしょり気味で失礼します🙇‍♀️

「Excelの起動」で出張先リストを開きます。

画像5

変数の名前は「Shutchosaki_List」とします。← ヘボン式(調べた🙊)

② おみやげデータを読み取る

同じく「Excelの起動」でおみやげデータを開きます…が、こっちは中身を読み取るだけなので、画面に表示させずに開いてみます。
「インスタンスを表示する」をOFFにします。

画像5

今回も読み取り範囲は決め打ちにします。
前回はA1形式で指定しましたが、R1C1形式での指定も可能です。
1行目のタイトル行も含んで読み取り範囲として、「範囲の最初の行に列名が含まれています」をONにしておきます。
読み取ったデータは、変数「ExcelData」に保存されます。

画像4

③ 読み取ったデータ分 処理を繰り返す

使用するアクションは「For each」。
変数「ExcelData」の行数分、検索を繰り返します。

画像5

④ Excelの検索ボックスを表示する

Excel上でCtrl+Fをしたいため、まずExcelウィンドウをアクティブにします。

ロボ研さんの100本ノックで学習しましたが、ウィンドウインスタンスは現在のところは手入力するしかないようです。
間違えないように、一番始めに入れた「Excelの起動」からコピペするのがオススメです🥳

画像6

Excelウィンドウがアクティブになったところで、Ctrl+F を送信します。
使用するアクションは「キーの送信」。

「送信するテキスト」をマウスオーバーすると、読む気にならないくらい説明が表示されますがw、A~Zのキーを押したければ中括弧 {} で囲ってねってことみたいです。

Ctrlは「修飾キーの挿入」から選択して、Fはこんな感じで入力します。

画像7

⑤ 「県」を検索する

この先のフローは検索ボックスでの操作になるので、自分で検索ボックスを表示しておきます。
これですね~ ↓↓

画像8

これの「検索する文字列」に「県」を入力したいわけです。

使用するアクションは「ウィンドウ内のテキストフィールドに入力する」。
「テキストボックス」の下矢印をクリック → 「新しいUI要素の追加」をクリックします。

画像9

検索ボックスの「検索する文字列」の横のテキスト入力欄をマウスオーバーし、Ctrl+クリックします。

画像10

「追跡セッション」にこんな感じで表示されたらOK。
「完了」をクリックします。

画像11

この検索ボックスに何を入力するのか。
For eachで『生成された変数』、「CurrentItem」です🧐

前回はインデックス0を指定しましたが、今回は「Excelワークシートから読み取り」で範囲の最初の行を列名に設定したので、こんな感じで指定することもできます。

画像12

列名は文字列なので、 "" で囲みます。

画像13

続いて検索ボックスの「次を検索」をクリックします。
使用するアクションは「ウィンドウのUI要素をクリックする」。

UI要素の設定の仕方は先ほどと同じです。こんな感じ。

画像14

そして、検索ボックスを「閉じる」。

画像15

⑥ おみやげを書き込む

検索ボックスを閉じたときに、検索した「県」のセルがアクティブになっています。
そのセル番地を取得して、隣のセルに「おみやげ」を書き込みます。

使用するアクションは「選択したセル範囲をExcelワークシートから取得」。
アクションとしてはセル範囲なのですが、今回は範囲ではなく単一セルなので最後の列・行は不要のためOFFにしました。

画像18

「おみやげ」を書き込みます。
使用するアクションは「Excelワークシートに書き込み」。

書き込む場所は、行は「県」と同じだけど 列は一つ横。
なので列を+1します。こんな感じ。

画像17

⑦ 出張先リストを保存して閉じる

最後に出張先リストを保存して閉じます。
使用するアクションは「Excelを閉じる」。

画像18

おみやげデータの方は開かずに中身を読み取っているので、閉じる必要はありません🌈

⑧ 実行します

全体のフローはこんな感じ。

画像19

では…
実行します (。・Α・)σポチッ ▶

ヒィ──── (ノ)゚Д゚ (ヽ)────!!

繰り返し初回の「ウィンドウ内のテキストフィールドに入力する」で、20秒くらい止まったので相当ビビりましたが、無事実行完了🙌✨

ちゃんと保存されてるかな~(*´д`*)ドキドキ

画像20

やったー!ばっちり✨✨
(あ…今回はフォント大丈夫だった🌈)

⑨ 所感

スマートではないやり方なのかもしれませんが、私のような非ITの方がやるなら こんな感じになるのかな?と思い、書いてみました🥰
普段 手作業でやってる操作、そのまま自動化できますよっ🥳

何回か実行してみましたが、繰り返し初回の「ウィンドウ内のテキストフィールドに入力する」のところは毎回20秒くらい止まりました。
UI要素の読み込みに少し時間がかかるのかな?

今回は、CurrentItemをインデックスではなく、100本ノックで学んだ列名で指定しました。
こうしておくとわかりやすいし、もし列の順番が変わってもフローを修正する必要がないので便利ですね👏

やり方に気づけば、全くつまづかずにフローを作成することができました!
確実にPADが身について来ています💪✨

事務員が少しの背伸びでできる効率化を目指す🌈✨ 自分の好きなものを、楽しく発信していきたいです! いただいたサポートは学習費にあてさせていただきます🥰