2010-01-15 51 views

回答

3

我知道这不是一个完全详细的答案,但它应该可以帮助你朝正确的方向发展。当我以前做过很多Perl和后来的Excel自动化并想知道如何实现这一点时,我通常会记录一个宏并检查其代码,以查看VBA如何与对象进行交互。我也这样做了你的任务,这是我得到了什么:

Sub Makro1() 
' 
' Makro1 Makro 
' 

' 
    ActiveWindow.SplitRow = 1.1 
    With ActiveWindow 
     .SplitColumn = 0 
     .SplitRow = 1 
    End With 
    ActiveWindow.FreezePanes = True 
End Sub 

我将它留给别人翻译成C#,但它应该是在公园里散步。

+0

这看起来比我预期的要容易。 – RedFilter 2010-01-15 19:24:11

+0

这是一个简单但巧妙的技巧。好的回答:) – 2010-01-15 19:26:59

+0

这工作。谢谢。 – 2010-01-15 19:53:07

0

这应该在C#中完成。

Private freezePain() 
{ 
    ...initialize objects 

    ExcelObject.ActiveWindow.FreezePanes = false; 
    WorksheetObject.get_Range(yourRange).Select(); 
    ExcelObject.ActiveWindow.FreezePanes = true; 
} 
+0

由于某些原因,即使我的范围正确,也会冻结更多行和更少的列。 – 2010-01-15 19:52:01

相关问题