繁体   English   中英

如何使用Excel Interop API冻结列?

[英]How to freeze a column using Excel Interop API?

如何使用Excel的Interop API冻结.NET中的列。 不在乎您使用哪种.Net语言编写代码。我尝试过:

Public Sub FreezeColumn(ByVal FileName As String, ByVal SheetName As String, ByVal RangeName As String)

    Dim oExcel As Excel.Application = Nothing
        Try
            oExcel = New Excel.Application
            oExcel.Visible = False
            If String.IsNullOrEmpty(RangeName) Then Exit Sub
            oExcel.Workbooks.Open(FileName, False, True)
            oExcel.DisplayAlerts = False

            For Each wsheet As Worksheet In oExcel.ActiveWorkbook.Worksheets
                If wsheet.Name = SheetName Then
                    wsheet.Range(RangeName).Select()
                    oExcel.ActiveWindow.FreezePanes = True
                    Exit For
                End If
            Next

            oExcel.Save()
        Catch ex As Exception
            Throw
        Finally
            If Not IsNothing(oExcel) Then
                If Not IsNothing(oExcel.ActiveWorkbook) Then
                    oExcel.ActiveWorkbook.Close(SaveChanges:=True)
                    ProcessHandler.ExcelDispose(oExcel)
                    oExcel = Nothing
                End If
            End If
        End Try
End Sub

您需要先激活工作表,然后才能冻结窗格。

wsheet.Activate

之前

wsheet.Range(RangeName).Select()

查看此测试样本

Imports Excel = Microsoft.Office.Interop.Excel

Public Class Form1   
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) _ 
    Handles Button1.Click
        Dim oExcel As New Excel.Application

        oExcel.Visible = True

        oExcel.Workbooks.Open("C:\book1.xls", False, True)
        oExcel.DisplayAlerts = False

        For Each wsheet As Excel.Worksheet In oExcel.ActiveWorkbook.Worksheets
            If wsheet.Name = "Sheet1" Then
                wsheet.Activate()
                wsheet.Range("A1").Select()
                oExcel.ActiveWindow.FreezePanes = True
                Exit For
            End If
        Next
    End Sub
End Class

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM