деактивирайте програмата за проверка на съвместимостта на 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