2013-10-23 86 views
5

でのPowerShellからExcelのマクロを呼び出すと、それがthisのようなスクリプトを使って、たとえば、スクリプトからExcelのマクロのを呼び出すために、むしろ簡単です。PowerShellを使用して、引数

$excel = new-object -comobject excel.application 
$excelFiles = Get-ChildItem -Path C:\fso -Include *.xls, *.xlsm -Recurse 
Foreach($file in $excelFiles) 
{ 
    $workbook = $excel.workbooks.open($file.fullname) 
    $worksheet = $workbook.worksheets.item(1) 
    $excel.Run("CreateChart") 
    $workbook.save() 
    $workbook.close() 
} 
$excel.quit() 

しかし、私はマクロを呼び出すために管理していませんでしたいくつかの議論。これは可能ですか、呼び出されたときにマクロが読む設定ファイルを書き込む最善の方法ですか?

答えて

3

次のような引数を指定してマクロを実行することができます。何が悪かったのかわからない、簡単だった

$excel.Run('CreateChart', 'arg1', 'arg2', ...) 
+0

。 –

+1

あなたのコードが$ excel.Run( 'ThisWorkbook.CreateChart'、 'arg1'、 'arg2'、...)になるように、 'ThisWorksheet.CreateChart'のようにマクロの名前を設定しなければなりませんでした。 –

関連する問題