2013-10-23 106 views
5

使用PowerShell這是相當容易調用Excel宏的從腳本,例如一個腳本像this調用從PowerShell的Excel宏與參數

$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

我不得不在宏上設置名字ThisWorksheet.CreateChart',所以你的代碼變成了'$ excel.Run('ThisWorkbook.CreateChart','arg1','arg2',...) –