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

VBA・Officeカテゴリを表すパンダのイラスト VBA・Office

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)

文書情報

記事タイトル
PowerShellから、起動中のExcelファイル(アクティブシート)に値を書き込む例
作成日
更新日
Source URL
https://papanda925.com/?p=1901

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

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