删除tableexcelVBA的部分边框

Remove part of the border of a table excel VBA

我们有时需要在工作中填写一组表格,我试图通过让 excel VBA 将表格重新创建为 word 文档来自动完成任务,并且用适当的数据填充并打印为 pdf。我被困在删除边框线样式上。我希望左侧没有边界线。我尝试了不同的方法,根据我的理解,最有可能起作用的方法如下: (注意:“.Border(xlEdgeleft).LineStyle = xlLineStyleNone”是给我带来麻烦的线)

Sub main()

Dim objWord As Object
Dim objDoc As Object
Dim objHdrRange As Object
Dim myTable As Object

Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add
Set objHdrRange = objDoc.Sections(1).headers(1).Range
Set myTable = objWord.activedocument.tables.Add(objHdrRange, 5, 5)

With myTable
    .Borders.enable = True
    .Border(xlEdgeleft).LineStyle = xlLineStyleNone
   ‘more code goes here later
End With

Set objDoc = Nothing
Set objHdrRange = Nothing
objWord.Quit

End Sub

xlEdgeLeftxlLineStyleNone 来自 Excel 对象模型,而不是来自 Word 对象模型,您需要后者。

由于您是后期绑定的,您可以添加以下行:

Const wdBorderLeft As Long = -2
Const wdLineStyleNone As Long = 0

并分别用这些替换 xlEdgeLeftxlLineStyleNone

有关详细信息,请参阅 WdBorderType and WdLineStyle 枚举文档。