#excel #powershell
Вопрос:
Мне нужно открыть рабочую книгу, в ней всегда есть только один рабочий лист. Теперь мне нужно проверить название листов и установить диапазон печати. Если это не имя рабочего листа, проверьте имя рабочего листа netxt и так далее.
Вот что у меня есть:
$Excel = New-Object -ComObject Excel.Application
$Excel.visible = $true
$Workbook = $Excel.workbooks.open($RG)
If ($WorkSheets = $WorkBook.WorkSheets | where {$_.name -eq "Test1"}
$Data = $workbook.Worksheets.Item(1)
$Data.PageSetup.PrintArea = "C1:S60"
If ($WorkSheets = $WorkBook.WorkSheets | where {$_.name -eq "Test2"}
$Data = $workbook.Worksheets.Item(1)
$Data.PageSetup.PrintArea = "C1:S80"
Что я делаю не так?
Ответ №1:
Я сделал это:
If ($WorkBook.WorkSheets | where {$_.name -eq "Test1"})
{$Data = $workbook.Worksheets.Item(1)
$Data.PageSetup.PrintArea = "A1:Q50"}
If ($WorkBook.WorkSheets | where {$_.name -eq "Test2"})
{$Data = $workbook.Worksheets.Item(1)
$Data.PageSetup.PrintArea = "A1:R50"}
Комментарии:
1. Почему
$WorkSheets = ..
, раз вы не видите, использовать$WorkSheets
где угодно2. Верно… Просто изменил его. Спасибо, Тео!