2016-10-26 5 views
0

私はユーザー入力を収集し、Word文書を開き、文書のさまざまな部分を記入するAccessデータベースをコーディングしています。VBA DropDownList ContentControlsのオブジェクトコードにアクセス

私が抱えている問題は、ドロップダウンリストで1回しか動作しないことです。この問題を解決するための理由または場所を確認していない。プログラムで記入するアイテムには3つのタイプがあります。最初はブックマークで、これに問題はありません。もう1つはコンテンツコントロールのチェックボックスです。これらは問題なく動作します。 3番目はコンテンツコントロールのドロップダウンリストです。これが問題の場所です。初めてアクセスデータベースを開くと、コマンドボタンをもう一度クリックすると、何も表示されません(ドロップダウン用)。主な問題は、エラーメッセージが生成されないため、どこを見るか分からないということです。

私はドロップダウンの更新を行うために作成しているオブジェクトと何か関係があると思いますか?どんな助けも素晴らしいでしょう:

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

これはおそらく、あなたの問題です:

Set objCC = ActiveDocument.ContentControls(1) 

それは

Set objCC = .ActiveDocument.ContentControls(1) 

しかし、ずっと良いはずのようになります。その後、

Set wDoc = WordApp.Documents.Add(Template:=strTemplateLocation, newtemplate:=False) 

と常に代わりWordApp.ActiveDocumentwDocを使用しています。

ここをクリック。VBA ActiveDocument Concerns/Alternatives?

+0

ファンタスティック!本当にありがとう。 –