Скрипт конвертирования файлов xls в xlsm

##############################
# Скрипт для конвертирования файлов *.xls -> *.xlsm
##############################
cls
#Подключаем сборку для того, чтобы выбрать с ее помощью тип сохраняемого файла
Add-Type -AssemblyName Microsoft.Office.Interop.Excel
#Выбираем тип сохраняемых файлов
$xlFixedFormat = [Microsoft.Office.Interop.Excel.XlFileFormat]::xlOpenXMLWorkbookMacroEnabled
#Путь к папке с xls-файлами
$Path2xls="\\server\share"
#"Запускаем" Excel (создаем COM-объект Excel.Application)
$objExcel=New-Object -comobject Excel.Application
#Отключаем уведомления пользователя (например, о перезаписи файла)
$objExcel.DisplayAlerts=$False
#получим все xls-файлы в папке
$xlsFiles=@(dir (Join-Path $Path2xls "*.*") -Filter *.xls -Include *xls)
#Для каждого xls-файла в папке...
for ($i=0; $i -lt $xlsFiles.Length; $i++) {
    Write-Progress -Activity "обрабатываем файл $($xlsFiles[$i])" -PercentComplete ([Math]::Round($i*100/$xlsFiles.Length))
    #Start-Sleep -Milliseconds 1
    #
    #выполняем открытие файла ("Рабочей книги") в Excel
    $objWorkbook=$objExcel.Workbooks.Open($xlsFiles[$i].FullName)
    $NewFileName=Join-Path $xlsFiles[$i].DirectoryName "$($xlsFiles[$i].BaseName).xlsm"
    $objWorkbook.SaveAs($NewFileName, $xlFixedFormat);
    #Закрываем книгу Excel
    $objExcel.Workbooks.Close()
    #
}
#
#Выходим из Excel (вернее даем команду на выход из Excel)
$objExcel.Quit()
#обнуляем объект
$objExcel = $null
#запускаем принудительную сборку мусора для освобождения памяти и окончательного завершения процесса
[gc]::collect()
[gc]::WaitForPendingFinalizers()
#

Медленно открываются файлы Excel по сети.

Пользователи обратились с проблемой: некоторые из их xls-файлов, содержащих большое количество ссылок, очень медленно открываются из «расшаренной» сетевой папки. Подробное исследование показало, что проблема имеет место быть только на 2х компьютерах, где на ОС Win7 x64 был установлен Office 2k3. Если проблемные файлы скопировать на локальный диск, то их открытие происходит быстро.
Оказалось, что проблему вызывает Office File Validation (OFV) (обновление kb2501584). К счастью, функционал OFV можно отключить, не удаляя и/или отзывая само обновление. Для этого на проблемных компьютерах надо внести изменение в реестр в соответствии с kb2570623:

[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security\FileValidation]
«EnableOnLoad»=dword:00000000