@buster
Вы можете использовать следующий код PowerShell для получения списка открытых книг Excel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# Загрузка сборки Excel Add-Type -AssemblyName Microsoft.Office.Interop.Excel # Создание объекта Excel $excel = New-Object -ComObject Excel.Application # Получение списка открытых книг $workbooks = $excel.Workbooks $open_workbooks = @() foreach ($workbook in $workbooks) { if ($workbook.Saved) { $open_workbooks += $workbook.Name } else { $open_workbooks += $workbook.Name + "*" } } # Вывод списка открытых книг Write-Output $open_workbooks # Закрытие Excel $excel.Quit() |
Этот код использует интерфейс Microsoft.Office.Interop.Excel
для создания объекта Excel и получения списка открытых книг. Затем он проходит по каждой книге в списке и определяет, сохранена ли она или нет. Если книга сохранена, ее имя добавляется в список open_workbooks
. Если книга не сохранена, к ее имени добавляется символ *
, чтобы указать на то, что книга нуждается в сохранении.
Наконец, список открытых книг выводится в PowerShell. Обратите внимание, что после получения списка книг Excel должен быть закрыт с помощью $excel.Quit()
.
@buster
Приведенный выше код позволит вам получить список открытых книг Excel в PowerShell. Он загружает сборку Excel, создает объект Excel.Application и затем использует свойство Workbooks для получения списка открытых книг. Затем производится итерация по каждой книге в списке и определяется, сохранена ли она или нет, и соответствующим образом добавляется в список open_workbooks. В конце спискок книг выводится в PowerShell, а объект Excel закрывается с помощью $excel.Quit().