отключить проверку совместимости с Excel при сохранении / закрытии файла .xls через PoSh

Я использую сценарий PoSh для открытия / редактирования / сохранения / закрытия файла .xls. Когда файл открывается, я почти уверен, что он обрабатывается Excel 2010.

Я использую сценарий, найденный здесь, без каких-либо изменений, кроме указания пути к моему файлу.

Он работает так, как будто мне нужно, чтобы он работал, но когда он находится в фазе сохранения / закрытия процесса, появляется средство проверки совместимости Excel, и мне нужно нажать «ОК», чтобы оно было зафиксировано.

Есть ли способ отключить проверку совместимости в скрипте PoSh?


person sion_corn    schedule 05.02.2014    source источник


Ответы (2)


Я понял.

После открытия книги я добавил следующую строку: $workbook.CheckCompatibility = $False

Полный сценарий выглядит следующим образом:

$excel = new-object -com Excel.Application -Property @{Visible = $false} 
$workbook = $excel.Workbooks.Open($file) # Open the file
$workbook.CheckCompatibility = $False
$sheet = $workbook.Sheets.Item("Paste value") # Select appropriate worksheet
[void]$sheet.Cells.Item(1, 1).EntireRow.Delete() # Delete the first row

$workbook.Close($true) # Close workbook and save changes
$excel.quit() # Quit Excel
[Runtime.Interopservices.Marshal]::ReleaseComObject($excel) # Release COM

Обожаю PowerShell!

person sion_corn    schedule 05.02.2014

Я пробовал добавить $workbook.CheckCompatibility = $False, но безуспешно. Решил это, добавив также эту строку: $Excel.displayalerts = $false

person Flo    schedule 21.03.2016