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

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

от buster , в категории: Другие , год назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от 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().

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

от marshall.cummings , 6 месяцев назад

@buster 

Приведенный выше код позволит вам получить список открытых книг Excel в PowerShell. Он загружает сборку Excel, создает объект Excel.Application и затем использует свойство Workbooks для получения списка открытых книг. Затем производится итерация по каждой книге в списке и определяется, сохранена ли она или нет, и соответствующим образом добавляется в список open_workbooks. В конце спискок книг выводится в PowerShell, а объект Excel закрывается с помощью $excel.Quit().