前提・実現したいこと
powershellでExcel操作の補助をしたいです。
Excelが複数プロセス起動している状態で
その中で最前面にあるExcelのcomオブジェクトか
全てのExcelのcomオブジェクトを取得したいです。
お願いします。
発生している問題・エラーメッセージ
最初に見つかったExcelのcomオブジェクトしか
取得できない
該当のソースコード
powershell
1 $Excel = [System.Runtime.InteropServices.Marshal]::GetActiveObject('Excel.Application')
試したこと
powershell
1[Microsoft.VisualBasic.Interaction]::GetObject('', 'Excel.Application') -as [Microsoft.Office.Interop.Excel.ApplicationClass]
こちらも試してみましたが特定のExcelしか取得できないうえに
Excel起動してない時に勝手にプロセスが立ち上がってしまいました。
--追記--
sysjojo 様より教えて頂いた内容を確認してみましたが
実行出来ませんでした。
"1" 個の引数を指定して "GetObject" を呼び出し中に例外が発生しました: "ActiveX コンポーネントを作成できません。"
powershell
1[reflection.assembly]::LoadWithPartialName("'Microsoft.VisualBasic") 2$Processes = [Microsoft.VisualBasic.Interaction]::GetObject('Excel.Application') 3foreach($procxls in $Processes){ 4echo $procxls; 5}
実行環境
--追記--
Windows 10
Excel 2016 64bit
推定利用環境
--追記--
Windows 8 以降
Excel 2013以降 64bit 又は 32bit
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/08 14:47