【问题标题】:Insert access field into word table将访问字段插入单词表
【发布时间】:2021-01-09 00:58:12
【问题描述】:

我正在尝试从 access 数据库创建一个简单的 word 文档。我有几条记录,我想循环并写入 word 中的表格(或者只是格式化的段落......如果这更容易的话)。问题是,通过访问,我可以在 word 中创建表格,但我无权访问要写入的表格单元格。

例如,当我执行以下操作时(没有循环):

Dim dTable As Table    
Dim dRow As Row
Set dTable = wrdDoc.Tables.Add(wrdDoc.Paragraphs(1).Range, 2, 2)
dTable.Cell(1,1)... 

据我所知。访问中的单元格没有范围属性。因此,我无法将文本发送到表格中的单元格。我期待的是这样的:

dTable.Cell(1,1).Range.Text = "Some text here" 

dRow.Cells(1).Range.Text = "Stuff"

但它没有发生。任何有关如何将访问数据推送到 word 文档的反馈都将不胜感激。

问候,

【问题讨论】:

  • 在 Access VBA 编辑器中,您是否使用工具>参考来添加对 Microsoft Word 对象库的参考?这应该可以让您访问完整的 Word 对象模型。
  • 如果没有特别的理由使用VBA,那么我会建议您使用Mail-Merge 将数据从访问表拉到字表。

标签: vba ms-access ms-word


【解决方案1】:

感谢大家的反馈。我不知道邮件合并。我确实让它工作了,但我没有在“外部数据”选项卡上创建一个“已保存的导出”,而不是邮件合并。它在“更多”下拉菜单下。步骤如下:

  1. 创建一个按照您喜欢的格式设置的报表,然后在对象树中选择它
  2. 从外部数据 --> 更多 --> Word(将选定对象导出到富文本框)
  3. 选择“打开目标...”以在导出后打开 word doc(如果您愿意)
  4. 保存导出过程。

从访问表单中,您可以创建一个按钮来触发此过程。只需将 DoCmd 添加到按钮控件...

DoCmd.RunSavedImportExport (reportName)

再次感谢您的帮助,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多