【问题标题】:Populate table in Word Template with VBA?使用 VBA 在 Word 模板中填充表格?
【发布时间】:2020-07-05 22:51:25
【问题描述】:

我正在使用从用户输入中收集的数据填写 Word 模板。特别是选择(可变)数量的文档,并且关于每个文档的信息填满表格的一行。

我已经为模板中的几个项目添加了书签,并成功地在我的宏的标题中填写了信息,但我不太确定该表。我为第一个单元格添加了书签,并尝试通过标签(使用 Chr(9)),还尝试传递一个数组。 (在模板中,表格只有第一行。通常在最后一列之后按 Tab 键会创建一个额外的行。)

我可以用

检索单元格内容
   Word.Application.ActiveDocument.Tables(1).Cell(3, 1).Range.Text

但不能写入除第一个单元格之外的任何单元格,我在其中放置了书签。

谁能提供填充表格的可能解决方案?

【问题讨论】:

    标签: vba templates ms-word


    【解决方案1】:

    要填充表格,请使用此代码

    ActiveDocument.Tables(1).Cell(1, 1).Range.Text = "Blah Blah"
    

    这将写入第一个表中的第一个单元格。使用循环填充其余单元格。

    我也建议您查看此链接。

    主题:为数据插入和提取自动化词表

    链接http://msdn.microsoft.com/en-us/library/aa537149%28v=office.11%29.aspx#Y1254

    提取

    总结:了解如何在 Word 中自动创建表格并设置表格格式。获取有关优化性能、用数据填充表、格式化表结构、链接表数据以及从表中提取数据的信息。 (25 页)

    【讨论】:

    • 感谢 Siddhath,我只是在我的帖子中添加了更多关于此的信息。该方法允许我从表中检索数据,但不能插入。这可能是因为文档受到保护,无法编辑,尽管我尝试编辑的单元格允许手动完成。我会阅读您发布的链接,看看他们是否提供任何帮助。
    【解决方案2】:

    实际上,我在使用 Access 自动填写 Word 表格模板时遇到了类似的问题。我发现,如果我在运行 VBA 脚本之前在 Word 中打开了模板,那么 Word 文档就成功填写了表格信息。就逐行添加而言,我的代码看起来与您的相似。因为要传输到表单的字段数量是动态的,所以每个部分的书签似乎都不起作用。如果您有任何更新,我很乐意听到解决此问题的不同方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-27
      • 2021-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多