使用 Access VBA 使用循环填充 Word 表单

Posted

技术标签:

【中文标题】使用 Access VBA 使用循环填充 Word 表单【英文标题】:Using a loop to fill Word forms using Access VBA 【发布时间】:2014-04-21 16:04:42 【问题描述】:

我正在使用代码通过 Access 打开 Word 文档,然后填写表单域。 我的代码没有问题,但我想更改它,以便文本框采用多个 ID(每行中的一个 ID)并在每个代码上执行其余代码, 我已经尝试过拆分和通过搜索找到的其他东西,但没有成功。 我已尝试添加到代码中,以便在填写字段后自动保存表单,这适用于多个 ID 吗? 这是我正在使用 atm 的代码:

Dim appWord As Word.Application
Dim doc As Word.Document
On Error Resume Next
Err.Clear
Set appWord = GetObject(, "Word.Application")
If Err.Number <> 0 Then
Set appWord = New Word.Application
End If
Set doc = appWord.Documents.Open("C:\Users\" & Environ$("Username") & "\Desktop\Form.doc", , True)
With doc
.FormFields("Text4").Result = DLookup("[Name]", "[Que]", "[Qu]![ID] =" & [ID2])
appWord.Visible = True
.Activate
End With
Set doc = Nothing
Set appWord = Nothing
Exit Sub
errHandler:
 MsgBox Err.Number & ": " & Err.Description
End Sub

编辑: iIgot it to work using

Split(ID2.Value, ",")   

但是,我尝试在每个新行之后拆分值,但我仍然无法弄清楚。 我尝试了 Enviroment.NewLine、vbCrLf、vbCr、vbNewLine 和 vbLf。他们都没有工作

【问题讨论】:

我目前正在尝试使用Split(Enviroment.NewLine),但我收到一条错误消息(无效的限定符) 【参考方案1】:
Split(ID2.Value, vbCrLf )      

效果很好! 之后,您可以使用 Ex(0)、Ex(1) 等调用字符串。

【讨论】:

以上是关于使用 Access VBA 使用循环填充 Word 表单的主要内容,如果未能解决你的问题,请参考以下文章

使用 VBA 保存和关闭办公程序(word、excel、access、outlook)以进行备份

使用自动化/VBA 填充 Excel 时,Access O365 崩溃

将完整的 ADO 记录集插入现有的 ACCESS 表而不使用循环

MS Access 2013:通过 VBA 使用 MS Word 的语法检查

VBA如何使用循环直到word文本的结尾?

如何解决从Access到Word传递的FormFields VBA的字符限制