#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 или что-то подобное.