#excel #powershell
#excel #powershell
Вопрос:
Я всегда использовал этот скрипт для автоматического открытия книги Excel, сохранения ее и использования. Поскольку рабочая книга была изменена, сценарий не работает, потому что каждый раз, когда я открываю файл, появляется всплывающее окно, предупреждающее меня об ошибках внутри рабочей книги.
Как я могу обойти эту проблему и заставить Powershell нажать кнопку «ок» в предупреждающем сообщении, чтобы продолжить обновление?
$file = 'C:UsersUserDesktopSPC_Analysis_v2.3 - 36 mesi_250_macchine_IPC - Copia - Copia.xlsm'
$x1 = New-Object -ComObject "Excel.Application"
$x1.Visible = $false
$enddate = (Get-Date).tostring("dd-MM-yy HH-mm-ss")
$filename = 'C:UsersUserDesktopSPCIPCIPC_QCP - Copia ' $enddate '.xlsm'
$wb = $x1.workbooks.Open($file)
$wb.RefreshAll()
$wb.SaveAs($filename)
$wb.Close()
$x1.Quit()
Remove-Variable wb,x1
Комментарии:
1. появляется всплывающее окно, предупреждающее меня о том, что в книге есть ошибки , как исправить эти ошибки? Без шуток. В любом случае, в VBA есть метод, вызываемый
DisplayAlerts
для отключения оповещений (убедитесь, что вы включили их после завершения!), Но не знаете, как вызвать его в вашем скрипте. может быть, что-то вроде$x1.DisplayAlerts=$False
и$x1.DisplayAlerts=$True
? Проверьте social.technet.microsoft.com/Forums/windows/en-US /…2. Спасибо, это работает, очень благодарен
3. Отлично! Я отправил ответ, чтобы вы могли принять его как действительный 🙂
Ответ №1:
Вы можете отключить оповещения с помощью:
$x1.DisplayAlerts=$False
Это отключит все предупреждения в Excel (кроме критических ошибок). Поскольку оно отключает все оповещения, убедитесь, что вы включили их после завершения!
$x1.DisplayAlerts=$True
Информация о свойстве DisplayAlerts: