当前位置: 首页 > 知识库问答 >
问题:

如何用宏VBA-Word更新一个表的表?

阎鹏
2023-03-14

我是word-vba宏的初学者(但我对excel-vba相当擅长),我希望更新一个“表的表”。我已经找到了如何为“table of content”和“table of dights”(使用activedocument.tableSofContents(1).update)这样做,但是TableOfTables集合并不存在。有人知道我要做什么吗?

共有1个答案

弓晔
2023-03-14

没有“Table of Tables”对象或TableOfTables集合。一张“表格表”实际上只是一种“目录表”。事实上,“数字表”也是如此。如果您查看它们背后的字段代码,您将看到这三个字段都使用了一个TOC字段--“table of tables”和“table of dights”分别具有类似于{TOC\h\z\c“table”}和{TOC\h\z\c“figure”}的字段代码。因此,如果您想更新这些类型中的任何一个(或您创建的任何自定义类型),但不一定是全部,您可以简单地遍历TableOfContents集合并检查\c开关后面的内容(如果存在的话)。同样,您可以循环TableOfContents集合并更新其中的所有项。因此:

Sub Demo()
Application.ScreenUpdating = False
Dim TOC As TableOfContents
For Each TOC In ActiveDocument.TablesOfContents
  TOC.Update
  'Or depending on what you want to update:
  'TOC.UpdatePageNumbers
Next
Application.ScreenUpdating = True
End Sub

对于所有字段,一个更简单的方法是:

Sub Demo()
Application.ScreenUpdating = False
With ActiveDocument
  .Fields.Update
  .PrintPreview
  .ClosePrintPreview
End With
Application.ScreenUpdating = True
End Sub
 类似资料:
  • 我有一个有很多表格的word文档。我想要一个宏,它将所有表的字体大小更改为10,将每个表自动匹配到窗口,并均匀分布列。我可以使用下面的代码完成最后两个目标,但不确定如何更改字体大小。任何帮助将不胜感激。

  • 我使用VBA代码批量查找和替换高亮显示的文本。宏查找并替换文档中的单词。它适用于小文档(1-2页)上的一些突出显示的文本。然而,当我在一个超过100页的大型文档上使用这个宏时,微软的word崩溃了,变得没有反应,所以我不得不被迫退出。 代码是为了帮助编辑信息变得容易。我用XXXXX和高亮黑色替换表格中也出现的高亮文本。 有没有人能提供一些技巧来提高代码的效率? 这是密码

  • 问题内容: 我正在尝试根据另一个MySQL信息更新一个MySQL表。 我的桌子看起来像: 而表如下所示: 我想更新在与来自基于(存储在字符串字段)。 希望更新后的表如下所示: 我有一个有效的查询,但是非常慢: 这使我的CPU耗尽,最终导致超时,并且仅执行了一部分更新(有数千个要匹配的值)。我知道匹配的速度会很慢,但这是我必须将它们匹配在一起的唯一数据。 有没有更好的方法来更新这样的值?如果可以更快

  • 在本章中,我们来学习如何逐步编写一个简单的宏。 第1步 - 首先,在Excel 2016中启用“开发者”菜单。要完成这个设置,请点击左上角菜单:文件 -> 选项。如下图所示 - 第2步 - 点击“自定义功能区”选项卡并选中“开发工具”。然后点击“确定”。如下图所示 - 第3步 - “开发工具”功能区出现在菜单栏中。如下图所示 - 第4步 - 点击 “Visual Basic” 按钮打开VBA编辑器

  • 首先,让我说这个网站是天赐之物! 我有一系列每月B2:AS40的数据。月份在A2:AS2中,A2:A40中是姓名列表,所有这些都在“Sheet1”中 经过之前在这里的一些搜索,我想出了以下内容,脚本为每一行制作一个新图表,创建一个标题,并以6个月的间隔放入MajorGridline,但是没有绘制数据。我这辈子都不知道为什么!! 请帮帮忙 样本数据: 将脚本更改为以下内容后: 脚本不会在每次运行时都

  • 我在另一个表(如ac)中有大约88k条记录。我想将表ac的一列更新到主表(如tbl)中。Eg-Table tbl示例记录,如 col1 col2 col3 col4 表ac中的样本记录如下 col1 col3` 如何从ac表更新tbl值。使记录看起来像 col1 col2 col3 col4