2013-10-23 19 views
5

Powershell verwenden, es ist ziemlich einfach, Excel Makros aus einem Skript aufrufen, zum Beispiel mit einem Skript wie this:Aufruf Excel-Makros von Powershell mit Argumenten

$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() 

Aber ich habe es nicht geschafft ein Makro mit anrufen einige Argumente. Ist das möglich oder ist das der beste Weg, um eine Konfigurationsdatei zu schreiben, die das Makro beim Aufruf liest?

Antwort

3

Sie können ein Makro mit Argumenten wie folgt ausführen:

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

, die einfach war, nicht sicher, was schief gelaufen ist. –

+1

Ich musste den Namen des Makros wie folgt einstellen: ThisWorksheet.CreateChart, also wurde Ihr Code zu $ ​​Excel.Run (ThisWorkbook.CreateChart, arg1, arg2, ...) –

Verwandte Themen