![見出し画像](https://assets.st-note.com/production/uploads/images/52924240/rectangle_large_type_2_faadaeb86edb69945f6599ab1d3441b0.png?width=800)
Power Automate for desktopの覚え書き
PADのお作法を、自分の覚えでまとめていきます。
いつも参考にさせていただいているので、ロボ研さんに頼りっぱなしです🙇♀️
📗Excelのお作法
■操作の前にシート選択
操作対象のファイルにシートが複数存在する場合は、Excelを起動した後に アクション「アクティブなExcelワークシートの設定」を使用してシートを選択する
※インデックスの指定も可能。インデックスは1スタート
■マクロの実行
マクロの実行は、アクション「Excelマクロの実行」で行う。
指定したマクロの実行が完了してから次のアクションに進む。
途中でメッセージボックスが表示されるマクロの場合は、次のアクションへ進めないので注意。
マクロのキックだけしたいときは、キー操作…かな?🤔
■検索した値が見つからなかったときの分岐の条件
アクション「Excelワークシート内のセルを検索して置換する」の使用時、検索した値が見つからずに、変数「Cells」が
![](https://assets.st-note.com/img/1710241065414-3SVwNbl9UU.png?width=800)
空っぽなことを条件にするときは、「%Cells.IsEmpty%=false」を指定する。
(「Cells.IsEmpty」には、変数「Cells」が空なら「true」、空でないなら「false」が返る)
![](https://assets.st-note.com/img/1710241095237-aLeBoeYjhX.png?width=800)
■Excelワークシートから読み取る
数値の読み取り時、列幅を自動調整しておかないと #### として読み取られる。
📦変数のお作法
■記述方法メモ
変数名に日本語は不可 ※2023年5月のアップデートで日本語対応😍✨
変数名は %% でくくる
ブランクで宣言したいときは、値を %''%にする
※%の中は、シングルクォーテーション2つ変数の値を計算をするときは %% の中に入れる
例) %FirstFreeColumn-1%For eachで列をインデックスで指定する場合は [インデックス] とする
例) %CurrentItem[0]% ※インデックスは0スタートFor eachでExcelの列名を指定する場合は ['列名'] とする
例) %CurrentItem['列名']%ExcelDataの行列を指定する場合は [行][列] とする
例) %ExcelData[0][0]%、%ExcelData[1]['列名']%「%」を文字として使用したいときは、その前にもうひとつ%を入れる
例) %%test%%リスト型にしたいときはPythonの記述方法が使える
例) 「変数の設定」アクションで、%['値1', '値2', '値3']% と記述入出力変数はテキストしか扱えないため、適宜型の変換が必要
型の種類については、ロボ研さんのここ見る
とにかく変数の操作に困ったら、ロボ研さんのここ見る
パスの生成は、変数同士をつなげる場合のお作法あり。ロボ研さんのここ見る。
■アクションの返値
メッセージボックス はい/いいえの返り値
→ Yes/No(始めが大文字)アクション「Excelワークシート内のセルを検索して置換する」の「Cells」
![](https://assets.st-note.com/img/1710332774924-OBeujoF3n3.png?width=800)
検索条件が行の場合、
![](https://assets.st-note.com/img/1710332849578-tKEtzqZJfw.png)
※ Cells[0][1] で始めに見つかったセル番地の行番号が取得できる
📅日付操作のお作法
■テキスト⇔Datetime型の変換
アクション「テキストをdatetimeに変換」「datetimeをテキストに変換」を使用
■月末月初の日付取得
ロボ研さんのここ見る
⌨ キー操作のお作法
■指定方法
Ctrl+Aを押すときは、{Control}({A}) ※()は同時に押すもの
「キー入力の間隔の遅延」を100ミリ秒くらいにしないとスカる可能性大
■一度に3つのキーを押したいとき
Ctrl+Shift+Vを押すときは、{Control}({Shift}({V}))
■同じキーを何度も送信したいとき
{押したいキー:回数} とする 例){Tab:5}
<参考サイト🙏✨>
同じキーを複数回送信するときにスマートに書く方法
📁ファイル操作のお作法
■ファイル名の変更
アクション「ファイルの名前を変更する」の「新しいファイル名」は、「拡張子を保持する」がON(ONがデフォルト)になっていたらファイル名のみでOK🙆♀️
📝テキスト操作のお作法
■置換で指定文字を削除
アクション「テキストを置換する」を使って指定文字を削除したいときは、「置き換え先のテキスト」は %''% にする
■文字の切り出し
アクション「サブテキストの取得」で行う
💡メッセージボックスのお作法
■表示メッセージのコピー
メッセージを表示:できる
入力ダイアログを表示:できない
■表示メッセージの改行
メッセージを表示:できるけど、改行すると行の長さによりスクロールが必要になる(ウィンドウサイズを調整できない)
入力ダイアログを表示:できないけど、変数で改行入りのテキストを持たせて、その変数を指定することで改行が可能。ウィンドウサイズもいい感じになる)
🌎ブラウザのお作法
■ドロップダウンリストのインデックス
リストを選択するときのインデックスは1スタート
📕PDFのお作法
■結合時のファイル名に注意
結合するときはファイル名に連番をつけて、ファイル名の降順にする
※詳しくはこちら
■ExcelをPDFにするときのVBScript
Dim Excel
Dim ExcelDoc
'Opens the Excel file'
Set Excel = CreateObject("Excel.Application")
Set ExcelDoc = Excel.Workbooks.open("%ExcelFile%")
'Creates the pdf file'
Excel.ActiveSheet.ExportAsFixedFormat 0, "%PdfFile%" ,0, 1, 0,,,0
'Closes the Excel file'
Excel.ActiveWorkbook.Close
Excel.Application.Quit
アクティブになっているExcelシートをPDFにするだけ(ファイルを開いたり閉じたりしない)なら、下記のみでOK
Dim Excel
Set Excel = GetObject(, "Excel.Application")
'Creates the pdf file'
Excel.ActiveSheet.ExportAsFixedFormat 0, "%PdfFile%" ,0, 1, 0,,,0
💻その他
コマンドラインのお作法はこちら
事務員が少しの背伸びでできる効率化を目指す🌈✨ 自分の好きなものを、楽しく発信していきたいです! いただいたサポートは学習費にあてさせていただきます🥰