VB.Net: все границы вокруг ячеек Excel - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь поставить границы вокруг каждой ячейки в данном диапазоне.Я не смог найти способ сделать это с помощью исследований.Единственное, что мне удалось реализовать для создания границы, это следующий код:

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

Визуальное отображение того, что я хочу: enter image description here

1 Ответ

0 голосов
/ 22 сентября 2018

Этот код поместит границу вокруг каждой ячейки в заданном непрерывном диапазоне, в данном случае для Листа 1 диапазон 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
...