代码之家  ›  专栏  ›  技术社区  ›  Ezor

如何用宏vba word更新表格?

  •  1
  • Ezor  · 技术社区  · 6 年前

    我是word vba宏的初学者(但我对excelvba很在行),我想更新一个“表格”。 我已经找到了“目录”和“图表”的方法 ActiveDocument.TablesOfContents(1).Update )但集合表不存在。 有人知道我要做什么吗?

    提前谢谢你,

    2 回复  |  直到 6 年前
        1
  •  1
  •   macropod    6 年前

    没有“tables of tables”对象或tableoftables集合。“表格”其实就是一种“目录”。事实上,“数字表”也是如此。如果您查看这些字段的底层代码,您将看到这三个字段都使用toc字段-“tables of tables”和“table of figures”将分别具有类似于{toc\h\z\c“table”}和{toc\h\z\c“figure”}的字段代码。因此,如果要更新其中的任何类型(或创建的任何自定义类型),但不一定全部更新,只需循环浏览TableOfContents集合并检查\c开关后面的内容(如果存在)。同样,您可以循环浏览TableOfContents集合并更新其中的所有项。

        2
  •  1
  •   Ezor    6 年前

    好吧,多亏了@macropod,我想出了解决问题的办法。 “表格”不是另一个目录,而是另一个 数字 所以这是我的结局代码:

    Public Sub UpdateAllFiles()
        With ActiveDocument
            .TablesOfContents(1).Update
            .TablesOfFigures(1).Update
            .TablesOfFigures(2).Update
        End With
    End Sub