Как получить список открытых книг excel в powershell?

Пользователь

от buster , в категории: Другие , 2 месяца назад

Как получить список открытых книг excel в powershell?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от nikko , месяц назад

@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().