删除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
xlEdgeLeft
和 xlLineStyleNone
来自 Excel 对象模型,而不是来自 Word 对象模型,您需要后者。
由于您是后期绑定的,您可以添加以下行:
Const wdBorderLeft As Long = -2
Const wdLineStyleNone As Long = 0
并分别用这些替换 xlEdgeLeft
和 xlLineStyleNone
。
有关详细信息,请参阅 WdBorderType
and WdLineStyle
枚举文档。
我们有时需要在工作中填写一组表格,我试图通过让 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
xlEdgeLeft
和 xlLineStyleNone
来自 Excel 对象模型,而不是来自 Word 对象模型,您需要后者。
由于您是后期绑定的,您可以添加以下行:
Const wdBorderLeft As Long = -2
Const wdLineStyleNone As Long = 0
并分别用这些替换 xlEdgeLeft
和 xlLineStyleNone
。
有关详细信息,请参阅 WdBorderType
and WdLineStyle
枚举文档。