PowerShellから、起動中のExcelファイル(アクティブシート)に値を書き込む例

VBAでよくつかうGetObject() は PowerShell では GetActiveObject()になる。

GetActiveObject() で起動中のExceclをつかむことで、対象のExcelファイル、この例ではA1セルにPowerShellから値書き込みができる。

この仕組みのメリットは、Excel VBAの並列処理に使えそうなこと。

Excecl Hero が以前作成したマルチスレッドの実装では、VBA(ActiveSheet)に対して子プロセス( VB script)が結果を書きこむことで実現していた。

ということは、上記パターンと同様、VBA + PowerShell に落とし込める。

子プロセスがPowershellであれば、VScode 、PowerShell ISE等でメンテが簡単。

なんかよさそうな予感。

【EXCEL】【VBA】Application.OnTimeを利用し指定時間経過後にサブプロセスを実行する例 – Serene diary almost day-to-day (papanda925.com)

コメント

タイトルとURLをコピーしました