从Outlook中的VBA中,如何冻结Excel中的窗格?

我在Outlook中编写了一个VBAmacros,该macros引用了Excel工作簿并对该工作簿进行了更改。 我想冻结第1行下方的窗格(而不是“分割”)。

这是我尝试的代码:

With Excel.ActiveWindow .SplitColumn = 0 .SplitRow = 3 .FreezePanes = True End With 

…和…

 Dim excApp As Object Set excApp = CreateObject("Excel.Application") With excApp.ActiveWindow .SplitColumn = 0 .SplitRow = 3 .FreezePanes = True End With 

两者都抛出运行时错误91在行.SplitColumn = 0

我感谢任何帮助或指针。 谢谢!

对于冻结窗格,它实际上是相对于光标位置的,所以这是实际上需要.Select的less数几个地方之一。

这个代码应该做你想要的:

 Dim excApp As Excel.Application Set excApp = GetObject(, "Excel.Application") excApp.ActiveWorkbook.ActiveSheet.Range("2:2").Select excApp.ActiveWindow.FreezePanes = True 

它假设Excel已经打开。

– 编辑 –

每@ChrisB,有一种方法可以做到这一点,没有可怕的select:

 With excApp.ActiveWindow .SplitRow = 3 .FreezePanes = True End With