Power Platform CommunityにPower Automate for desktop(PAD)のフローでExcelのVSTOアドイン内のコードを呼び出したい、との質問がありました。
Hello, I am trying to do the same thing except my macro is stored in a VSTO add-in for Excel which I created in Visual Studio. Can anyone tell me what I should use as the “add-in name” in the Macro field for PAD in this case?
個人的には、これはアドイン側の実装によるのではないかと思います。
下記Docs資料のように外部から呼び出せる仕様(クラス・インターフェース公開、RequestComAddInAutomationServiceメソッドオーバーライド)であれば下記のようなスクリプトやマクロからアドイン内のメソッドを実行できます。
'実行中のExcelでVSTOアドインのメソッド実行 '対象アドイン:https://docs.microsoft.com/ja-jp/visualstudio/vsto/walkthrough-calling-code-in-a-vsto-add-in-from-vba Option Explicit With GetObject(, "Excel.Application") Dim addIn: Set addIn = Nothing 'COMAddIn On Error Resume Next Set addIn = .COMAddIns("ExcelImportData") On Error GoTo 0 If Not addIn Is Nothing Then addIn.Object.ImportData End With
あるいはこのような仕様になっていなくても、リボンUIから処理を実行できるようになっているのであれば、UIオートメーションを使うことでも対応できるでしょう。
下記は選択ダイアログによってスクリプトによる実行とUIオートメーションによる実行を切り替えるサンプルです。
今となってはVSTOアドインの処理をPADから実行する機会もそう無いとは思いますが、上記のように一応実行できることを覚えておいても損は無いでしょう。
この記事へのコメントはありません。