我正在编写一个Access数据库,它将收集用户输入,然后打开Word文档并填写文档的各个部分。
我遇到的问题是它只适用于下拉列表一次。不知道为什么或在哪里寻找解决这个问题。我以编程方式填写了三种类型的项目。第一种是书签,没有问题。其次是内容控制复选框,这些也没有问题。第三个是内容控制下拉列表,这就是问题所在。我第一次打开Access数据库它可以工作,但如果我再次单击命令按钮,没有(对于Drop Downs)。主要问题是它没有产生错误信息,所以我不确定在哪里看。
我猜它与我创建的对象有关,可以进行下拉更新吗?任何帮助都会很棒:
Dim WordApp As Word.Application
Dim strTemplateLocation As String
Dim dir As String
Dim path As String
Dim wDoc As Word.Document
path = Left(CurrentDb.Name, InStrRev(CurrentDb.Name, "\"))
strTemplateLocation = path & "UserDoc.docx"
On Error Resume Next
Set WordApp = GetObject(, "Word.Application")
If Err.Number <> 0 Then
Set WordApp = CreateObject("Word.Application")
End If
WordApp.Visible = True
WordApp.WindowState = wdWindowStateMaximize
WordApp.Documents.Add Template:=strTemplateLocation, newtemplate:=False
With WordApp
'Working Bookmark
.Selection.GoTo what:=wdGoToBookmark, Name:="COMPANY": .Selection.TypeText [fac]
'Working checkbox
If Me.RD = True Then: .ActiveDocument.ContentControls(9).Checked = True
'Works ONCE drop down
Dim objCC As ContentControl
Dim objCE As ContentControlListEntry
Dim ListSelection As String
ListSelection = Me.System_Type.ListIndex + 2
Set objCC = ActiveDocument.ContentControls(1): Set objCE = objCC.DropdownListEntries.Item(ListSelection): objCE.Select
End With
我应该在结束时关闭objCE和objCC还是什么?
答案 0 :(得分:0)
这可能是你的问题:
Set objCC = ActiveDocument.ContentControls(1)
应该是
Set objCC = .ActiveDocument.ContentControls(1)
但更好的是:
Set wDoc = WordApp.Documents.Add(Template:=strTemplateLocation, newtemplate:=False)
然后始终使用wDoc
代替WordApp.ActiveDocument
。