welcome to tetsuyanbo web site!!

tetsuyanbo

PowerShell VBA

PowerShellメモ Excelファイルに書いたVBAのSubプロシージャを呼び出してみる

更新日:

C#に続き(記事はここ)、PowerShellでも試したくなったので。
ポイントはこんな感じ...って言ってもC#をほぼ同じ内容。

  • ExcelのVBAでSubプロシージャやFunctionプロシージャはPowerShellから呼び出されるための特別な書き方をしなくてOK
  • 呼び出すときは"モジュール名.Subプロシージャ名"
  • Microsoft.Office.Interop.Excel.Application.Runメソッドで取り扱うExcelのパスと必要に応じてVBAに渡す引数を指定する
  • PowerShell側でExcelに関係するオブジェクトはSystem.Runtime.InteropServices.Marshal.ReleaseComObjectメソッドで明示的に解放する

んで、まずはPowerShellのコードはこんな感じ。

準備したサンプルのExcel VBAマクロはこんな感じ。

んで、実行してみるとこんな感じ。

こっちもC#と同じように、VBAのダイアログを閉じないと処理がPowerShell側に戻らないのでとかで抑制するんかも?

ちなみに、タイトルはSubプロシージャってなってるけどFunctionでも同じ要領。

んまま、明日への自分へのメモってことで。

 

adsense 336 x 280

adsense 336 x 280

-PowerShell, VBA
-, , , , , , , , , , , , , , ,

Copyright© tetsuyanbo , 2020 All Rights Reserved Powered by STINGER.