Powershell Запускает макросы Excel

#excel #vba #powershell

Вопрос:

здравствуйте, я пытаюсь открыть документ excel, затем открыть документ макроса excel, затем заставить powershell запустить конкретный макрос, который я хочу, и позволить макро творить свое волшебство и покончить с этим.

сценарий, который у меня есть, таков:

 # start Excel 
$excel = New-Object -comobject Excel.Application  

#open file 
$FilePath = 'C:UsersUsernameDesktopExcelWorkbook.xlsm' 
$workbook = $excel.Workbooks.Open($FilePath)  

#make it visible (just to check what is happening) 
$excel.Visible = $true  

#access the Application object and run a macro 
$app = $excel.Application 
$app.Run("Macro")
$excel.Quit()     

#Popup box to show completion - you would remove this if using task scheduler 
$wshell = New-Object -ComObject Wscript.Shell $wshell.Popup("Operation Completed",0,"Done",0x1)  
 

Поэтому моя проблема в том, что я получаю сообщение об ошибке «все макросы могут быть отключены».
какой код я использую, чтобы включить их, у меня с этим проблемы.

Ответ №1:

$app это не определено, поэтому попробуйте заменить $app.Run(«Макрос») на $Excel.Run(«Макрос»).

Комментарии:

1. На самом деле форматирование вопроса было отключено.

2. Привет, Элио, я изменил это, и я все еще получаю сообщение об ошибке «Не удается запустить макрос» «все макросы, возможно, отключены»

3. Книга открывается при запуске сценария powershell? Параметры Центра доверия в Excel настроены правильно? Опубликуйте все сообщение об ошибке srcipt. Поделитесь своей рабочей книгой. в Dropbox или что-то подобное.