冻结工作表的顶行

Glo*_*wie 3 excel powershell

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
Run Code Online (Sandbox Code Playgroud)

它不是冻结顶行,而是冻结行的中心和列的中心,即

在此输入图像描述

UPDATE

重复帖子中的解决方案不起作用,即

$excel.Rows("1:1").Select()
$excel.ActiveWindow.FreezePanes = $true
Run Code Online (Sandbox Code Playgroud)

给出以下错误:

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
Run Code Online (Sandbox Code Playgroud)

Ans*_*ers 7

要冻结顶行,您需要选择第二行:

$excel.Rows.Item("2:2").Select()
$excel.ActiveWindow.FreezePanes = $true
Run Code Online (Sandbox Code Playgroud)