Я пытаюсь автоматизировать рабочий процесс в своей повседневной работе.Так как 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
}
Я почти уверен, что должны быть более стабильные и надежные методы с точки зрения масштабируемости.Я планирую создать внутрифирменную библиотеку, чтобы начать автоматизацию процессов других людей.