我在Excel中有一个VBA脚本冻结了Excel工作表的窗格,但我很想知道如果没有先选择一个范围,这是否可行.现在通过代码冻结第1行到第7行:
ActiveSheet.Range("A8").Select
ActiveWindow.FreezePanes = True
Run Code Online (Sandbox Code Playgroud)
有什么建议?
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)