Код PowerShell создает Excel.Закрепить верхний ряд листа
Я пытаюсь заморозить верхний ряд:
$excel = New-Object -Com Excel.Application
$excel.Visible = $True
$wb = $Excel.Workbooks.Add()
$ws = $wb.Worksheets.Add()
$ws.Activate()
$ws.Select()
$excel.Rows.Item("1:1").Select()
$excel.ActiveWindow.FreezePanes = $true
Вместо замораживания верхнего ряда, она замерзает центр строк и центра столбцов, т.е.
UPDATE
Решение в двух экземплярах icate пост не работает, т.е.
$excel.Rows("1:1").Select()
$excel.ActiveWindow.FreezePanes = $true
дает следующее сообщение об ошибке:
Method invocation failed because [System.__ComObject] does not contain a method named 'Rows'.
At D:\Script\upgrades.ps1:231 char:5
+ $excel.Rows("1:1").Select()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Rows:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
Какую версию MS Excel вы создаете? * Freeze top row * появился только с Excel 2007, я думаю ... –
Возможный дубликат [Как я могу программно заморозить верхнюю строку листа Excel в Excel 2007 VBA?] (Http://stackoverflow.com/questions/ 3232920/how-can-i-programatically-freeze-the-top-row-of-a-excel-worksheet-in-excel-200) –
см. [SO: 3232920 как-можно-программно-замораживать- топ-строк из-в-Excel-лист] (http://stackoverflow.com/questions/3232920/how-can-i-programmatically-freeze-the-top-row-of-an-excel-worksheet-in -excel-200) –