PowerShell 上でExcel,Word(ComObject)のインテリセンスを機能させる方法

インテリセンスを機能させるためのイニシャルコード (Excel)

Excelのインテリセンスを機能させるためのイニシャルコード例

ポイントは、プロセスの解放を行わないこと

 このコードを実行すると、意味もなくExcelが1ブック起動してしまうというデメリットがあるが、それ以上にPowerShellでのコーディング時に、Excelにかかわるインテリセンス(補完)が機能するという大きな大きなメリットが得られる。どうやら、PowerShell ISE 上でExcelオブジェクトのインスタンスが生成(実体化)されれば、生成したオブジェクトを利用してインテリセンスを表示できるようだ。

インテリセンスを機能させるためのイニシャルコード (Word)

 Wordも同様の手法でインテリセンスを機能させることができる。こちらはWordのインテリセンスを機能させるためのイニシャルコードの例

 このコードを実行すると、意味もなくWordが1ドキュメント起動してしまうというデメリットがあるが、それ以上にPowerShellでのコーディング時にWordにかかわるインテリセンス(補完)が機能するという大きな大きなメリットが得られる。

考え方的には、Excel、WordだけでなくComObject全体的にできそうだ。

インテリセンスを機能させることのメリット・デメリット

メリットは、とにかくVBAのようなコード補完がPowerShell上ですべて完結し、コーディングが楽になること。これは大きなメリットになる。これまで業務でVBAにはわりと深くかかわってきたので、PowerShell上で似たような実装ができるようになることは、スキルアップする上でも大切だ。

 デメリットは、インテリセンスのために無駄なプロセス(オブジェクト)が生成されること。ただ手で消せばいいだけだけど。

コメント

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