Power Automate for Deskotp: Excelマクロ実行時に文字列を引数として渡す

Power Automate for DesktopからExcelマクロを実行する際に、引数を文字列として渡す必要がありました。しかし、なかなかうまくいかなかったので記録しておきます。


次のマクロをExcel上で定義します。

Public Sub uExecMacro(ByVal uString As String)
    Debug.Print uString
End Sub

次のように文字列の引数を定義します。

実行します。

マクロには数値として渡されてしまし、頭の000が取れてしまっています。

uParameterはPower Automate for Desktop上では、テキストとして認識されているにもかかわらず。

試しに次のように、引数をダブルクォーテーション(")で囲ってみたところ、文字列として渡すことができました。

ダブルクォーテーションの前の文字はバックスラッシュです。実は入力する際には、ダブルクォーテーションだけ入力しました。アクションを保存したところ、自動的にバックスラッシュが補完されていました。ダブルクォーテーションは特別な意味を持つためエスケープが必要なのでしょう。

実行結果は次の通りで、文字列として引数を渡すことができました。

文字列として渡す引数はダブルクォーテーションで囲ってから渡した方が良さそうです。時折0が先行するデータがあるようだと、思わぬトラブルの元です。


コメント

アクセス数の多い投稿

セキュリティ対策ソフトのノートンが詐欺ソフトまがいになってしまってショック

ZIPファイルを開こうとすると、展開を完了できません、と言われる

Excel 2019 クエリが原因で日本語入力の一文字目が勝手に確定する

オカムラ家具のOAチェアー、コンテッサを分解清掃

突然滅茶苦茶遅くなったPCがWindows Updateのキャッシュクリアで復活

Excelのテーブルに行や列を挿入する際のエラー

ChatGPTが日本語からVBAのコードを生成できてたまげる

Windows セキュリティーのビックリマークが消えない

Power Automate Desktopでブラウザでダウンロードしたファイルを処理する

Excel VBAからODBCを使ってデータを簡単に取得する