在网上任何地方都没有找到关于此问题的任何信息(至少没有任何有用的信息——稍后会提供更多信息)。
我想要做的是,按下我在 Access 表单中创建的一个按钮,Word 就会打开一个 docx,并根据当前在 Access 表单中打开的记录中的几个 TRUE/FALSE 复选框,用某些 rtf 段落(在某些点)填充它。
用于将值传递到 Word docx 的访问代码:
函数 OpenWord(conPath 作为字符串)
Dim appword 作为 Word.Application
Dim doc 作为 Word.Document
出错时继续下一步
錯誤.清單
设置 appword = GetObject(, “word.application”)
如果 Err.Number <> 0 则
设置 appword = New Word.Application
appword.Visible = True
万一
设置 doc = appword.Documents.Open(conPath, , True)
附有文档
.FormFields("文本名称").Result = Me.Name
.FormFields("TextAnotherName").Result = Me.AnotherName
.FormFields("TextBoolean1").Result = Me.Boolean1
.FormFields("TextBoolean2").Result = Me.Boolean2
.FormFields("TextBoolean3").Result = Me.Boolean3
结尾
appword.ActiveWindow.View.Type = wdPrintView
appword.Visible = True
appword.激活
设置 doc = Nothing
设置 appword = Nothing
以上方法非常适合通过“开发人员”>“旧版”>“文本表单字段”将名称传递到 Word docx 中。布尔值也会显示出来(即:-1 表示 TRUE,0 表示 FALSE)。我想做的是类似以下操作:
如果 {TextBoolean1} = "0" "{AUTOTEXT someparagraph}" ""
这个网络建议不起作用。
总结一下:需要做什么才能让 Word 2013 根据从 Access 传入的布尔值在文档中的预定义位置插入预定义段落(自动图文集或快速部分构建块)?(如何做到这一点?)
感谢你们的帮助——这让我困惑了一个星期,尝试了各种无效的方法,
困惑
答案1
首先,我认为您可以使用 Access 数据库中的邮件合并并通过宏来启动它,从而简化宏中的大量代码。
CTRL此处显示的 IF 字段的字段代码应该有效。请确保您已通过单击+将代码括在特殊字段括号中,F9而不仅仅是普通括号。