【问题标题】:Remove part of the border of a table excel VBA删除表格excel VBA的部分边框
【发布时间】:2022-01-14 19:57:01
【问题描述】:

我们有时必须在工作中填写一组表格,我正在尝试通过让 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

【问题讨论】:

    标签: excel vba ms-word border linestyle


    【解决方案1】:

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

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

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

    并将xlEdgeLeftxlLineStyleNone 分别替换为这些。

    有关更多详细信息,请参阅 WdBorderTypeWdLineStyle 枚举文档。

    【讨论】:

    • 非常感谢!这几乎是 100% 正确的。但是有一个问题,在我的例子中。我有“边界”这个词而不是“边界”。显然,它需要是一个边框对象才能运行。
    • 啊,是的,我忽略了这一点,很好。
    猜你喜欢
    • 1970-01-01
    • 2014-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    相关资源
    最近更新 更多