見出し画像

Power Automate for desktopの覚え書き

PADのお作法を、自分の覚えでまとめていきます。
いつも参考にさせていただいているので、ロボ研さんに頼りっぱなしです🙇‍♀️


📗Excelのお作法

■操作の前にシート選択

操作対象のファイルにシートが複数存在する場合は、Excelを起動した後に アクション「アクティブなExcelワークシートの設定」を使用してシートを選択する
 ※インデックスの指定も可能。インデックスは1スタート

■マクロの実行

マクロの実行は、アクション「Excelマクロの実行」で行う。
指定したマクロの実行が完了してから次のアクションに進む。
途中でメッセージボックスが表示されるマクロの場合は、次のアクションへ進めないので注意。
マクロのキックだけしたいときは、キー操作…かな?🤔

■検索した値が見つからなかったときの分岐の条件

アクション「Excelワークシート内のセルを検索して置換する」の使用時、検索した値が見つからずに、変数「Cells」が

空っぽなことを条件にするときは、「%Cells.IsEmpty%=false」を指定する。
(「Cells.IsEmpty」には、変数「Cells」が空なら「true」、空でないなら「false」が返る)

■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」

検索条件が行の場合、

※ 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

💻その他

  • コマンドラインのお作法はこちら

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