Как лучше всего захватывать открытый документ Excel как объект COM (не создавая новый) в Windows с помощью PowerShell - PullRequest
0 голосов
/ 08 марта 2019

Я пытаюсь автоматизировать рабочий процесс в своей повседневной работе.Так как Excel часто используется.Использование PowerShell для Excel очень важно для меня.

В большинстве случаев мои окна Excel открыты.Поэтому я использую приведенный ниже блок кода для захвата этих окон для дальнейшей автоматизации:

$FullPath = $FilePath  + "\" + $WorkBookName 

$excel = [Runtime.InteropServices.Marshal]::GetActiveObject("Excel.Application")
#capture already active object
if (($excel.Workbooks | ? {$_.Fullname}).FullName -eq $FullPath) {
    $wb = $excel.workbooks | ?{$_.FullName -eq $FullPath}
} else {
    # if no document is available open from filepath
    $excel, $wb = Open-NewCliExcel -TypeOrPath $FullPath
}

Я почти уверен, что должны быть более стабильные и надежные методы с точки зрения масштабируемости.Я планирую создать внутрифирменную библиотеку, чтобы начать автоматизацию процессов других людей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...