Как отключить всплывающее окно с предупреждением при открытии файла Macro Excel - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть файл макроса Excel, содержащий несколько листов. Используя приведенный ниже код, я пытаюсь найти листы, в которых содержится указанная c строка. Код работает нормально, как и ожидалось.

Проблема заключается в том, что при попытке открыть файл macro excel появляется всплывающее окно (Microsoft Visual Basi c), и мы предполагаем нажать кнопку «конец», чтобы отключить это окно. Но это будет трудно при обработке тысяч файлов макрокоманд.

Я попытался установить excel.DisplayAlerts = $false. Но это даже не тренировки. Пожалуйста, предложите способ подавить это окно самим кодом. (Прилагается снимок окна, для справки)

$before                 = @(Get-Process [e]xcel | %{$_.Id})
$excel                  = New-Object -comobject Excel.Application
$ExcelId                = Get-Process excel | %{$_.Id} | ?{$before -notcontains $_}
$excel.Visible          = $false
$excel.DisplayAlerts    = $false
$excel.AskToUpdateLinks = $false

$workbook = $excel.Workbooks.Open('D:\dinesh\worksheetArea\workbook1.xlsm')
For($i = 1 ; $i -le $workbook.Sheets.count ; $i++)
{
    $worksheet = $workbook.sheets.item($i)  
    $search  = $worksheet.usedRange.Find('ServerId::50012')
        If($search){
            $final_list += worksheet.Name                       
        }
}   
if (!$Workbook.saved){ 
    $workbook.save() 
}
$workbook.close()
$excel.quit()
$excel = $null
[gc]::collect()
[gc]::WaitForPendingFinalizers()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...