VB.Net:Excel单元格周围的所有边界

时间:2018-09-20 15:39:02

标签: excel vb.net border cell

我试图在给定范围内的每个单元格周围放置边框。我还没有找到通过研究做到这一点的方法。我能够实现的创建边框的唯一方法是以下代码:

protoWorksheet.Range("A1:K1").BorderAround2(Excel.XlLineStyle.xlContinuous, Excel.XlBorderWeight.xlMedium, Excel.XlColorIndex.xlColorIndexAutomatic, Excel.XlColorIndex.xlColorIndexAutomatic)

我想要的东西的视觉效果:enter image description here

1 个答案:

答案 0 :(得分:1)

此代码将在给定连续范围内在每个单元格周围放置边框,在这种情况下,对于Sheet1,范围为C8:D8。

Option Strict On
Option Infer Off   
Imports System.IO
Imports System.Runtime.InteropServices
Imports Microsoft.Office.Interop.Excel    
Public Module RangeBorderSample
    Public Sub OpenExcelSimple()
        Dim proceed As Boolean = False
        Dim xlApp As Application = Nothing
        Dim xlWorkBooks As Workbooks = Nothing
        Dim xlWorkBook As Workbook = Nothing
        Dim xlWorkSheet As Worksheet = Nothing
        Dim xlWorkSheets As Sheets = Nothing
        Dim xlCells As Range = Nothing

        xlApp = New Application With {.DisplayAlerts = False, .Visible = True}
        xlWorkBooks = xlApp.Workbooks
        xlWorkBook = xlWorkBooks.Open(Path.Combine(
            AppDomain.CurrentDomain.BaseDirectory, "Excel1.xlsx"))

        xlWorkSheets = xlWorkBook.Sheets
        For index As Integer = 1 To xlWorkSheets.Count
            xlWorkSheet = CType(xlWorkSheets(index), Worksheet)
            If xlWorkSheet.Name = "Sheet1" Then
                proceed = True
                Exit For
            End If
            Marshal.FinalReleaseComObject(xlWorkSheet)
            xlWorkSheet = Nothing
        Next
        If proceed Then
            xlCells = xlWorkSheet.Range("C6:D8")
            PlaceBordersOnEachCell(xlCells)
        End If
    End Sub
    Private Sub PlaceBordersOnEachCell(pRange As Range)
        pRange.Cells.Borders.LineStyle = XlLineStyle.xlContinuous
    End Sub
End Module
相关问题