2017-02-20 64 views
0

我想調用VBA模塊中的REST Web服務來在Word文檔中填充某些書籤。出於某種原因,代碼凍結在這一行VBA函數找不到書籤

Set cCap1 = ActiveDocument.Bookmarks("CCAP1").Range 
cCap1.Text = keyResult.SelectSingleNode("//cCap").Text 

說,書籤「CCAP1」不將文件內部存在的時候,其實是在書籤列表中完全可見的,因爲你在這裏看到

this image

我檢查了webservice,它返回了一個不應該構成任何問題的有效XML文檔。

下面你會發現

Public Static Sub callRestService() 

Dim idC As String 
Dim custDate As String 
Dim query As String 

idC = mdlFormVal.getIdC 
custDate = mdlFormVal.getCustDate 

query = "http://path/to/webservice/service?key=" + idC 

Dim keyResult As New MSXML2.DOMDocument60 
Dim keyService As New MSXML2.XMLHTTP60 

keyService.Open "GET", query, False 
keyService.send 

keyResult.LoadXML (keyService.responseText) 

Dim cRas As Range 
Dim cRas1 As Range 
Dim cRas2 As Range 
Dim cRas3 As Range 
Dim cRas4 As Range 
Dim cCap As Range 
Dim cCap1 As Range 
Dim cCap2 As Range 
Dim cCf As Range 
Dim cCf1 As Range 
Dim cInd As Range 
Dim cInd1 As Range 
Dim cInd2 As Range 
Dim cLoc As Range 
Dim cLoc1 As Range 
Dim cLoc2 As Range 
Dim cPIva As Range 
Dim cPIva1 As Range 
Dim cPrvn As Range 
Dim cPrvn1 As Range 
Dim cPrvn2 As Range 

Dim cusDate As Range 

Set cRas = ActiveDocument.Bookmarks("CRAS").Range 
cRas.Text = keyResult.SelectSingleNode("//cRas").Text 
Set cRas1 = ActiveDocument.Bookmarks("CRAS1").Range 
cRas1.Text = keyResult.SelectSingleNode("//cRas").Text 
Set cRas2 = ActiveDocument.Bookmarks("CRAS2").Range 
cRas2.Text = keyResult.SelectSingleNode("//cRas").Text 
Set cRas3 = ActiveDocument.Bookmarks("CRAS3").Range 
cRas3.Text = keyResult.SelectSingleNode("//cRas").Text 
Set cRas4 = ActiveDocument.Bookmarks("CRAS4").Range 
cRas4.Text = keyResult.SelectSingleNode("//cRas").Text 
Set cCap = ActiveDocument.Bookmarks("CCAP").Range 
cCap.Text = keyResult.SelectSingleNode("//cCap").Text 
Set cCap1 = ActiveDocument.Bookmarks("CCAP1").Range 
cCap1.Text = keyResult.SelectSingleNode("//cCap").Text 
Set cCap2 = ActiveDocument.Bookmarks("CCAP2").Range 
cCap2.Text = keyResult.SelectSingleNode("//cCap").Text 
Set cCf = ActiveDocument.Bookmarks("CCF").Range 
cCf.Text = keyResult.SelectSingleNode("//cCf").Text 
Set cCf1 = ActiveDocument.Bookmarks("CCF1").Range 
cCf1.Text = keyResult.SelectSingleNode("//cCf").Text 
Set cInd = ActiveDocument.Bookmarks("CIND").Range 
cInd.Text = keyResult.SelectSingleNode("//cInd").Text 
Set cInd1 = ActiveDocument.Bookmarks("CIND1").Range 
cInd1.Text = keyResult.SelectSingleNode("//cInd").Text 
Set cInd2 = ActiveDocument.Bookmarks("CIND2").Range 
cInd2.Text = keyResult.SelectSingleNode("//cInd").Text 
Set cLoc = ActiveDocument.Bookmarks("CLOC").Range 
cLoc.Text = keyResult.SelectSingleNode("//cLoc").Text 
Set cLoc1 = ActiveDocument.Bookmarks("CLOC1").Range 
cLoc1.Text = keyResult.SelectSingleNode("//cLoc").Text 
Set cLoc2 = ActiveDocument.Bookmarks("CLOC2").Range 
cLoc2.Text = keyResult.SelectSingleNode("//cLoc").Text 
Set cPIva = ActiveDocument.Bookmarks("CPIVA").Range 
cPIva.Text = keyResult.SelectSingleNode("//cPIva").Text 
Set cPIva1 = ActiveDocument.Bookmarks("CPIVA1").Range 
cPIva1.Text = keyResult.SelectSingleNode("//cPIva").Text 
Set cPrvn = ActiveDocument.Bookmarks("CPRVN").Range 
cPrvn.Text = keyResult.SelectSingleNode("//cPrvn").Text 
Set cPrvn1 = ActiveDocument.Bookmarks("CPRVN1").Range 
cPrvn1.Text = keyResult.SelectSingleNode("//cPrvn").Text 
Set cPrvn2 = ActiveDocument.Bookmarks("CPRVN2").Range 
cPrvn2.Text = keyResult.SelectSingleNode("cPrvn").Text 

Set cusDate = ActiveDocument.Bookmarks("CUSTDATE").Range 
cusDate.Text = custDate 

End Sub 

有沒有人遇到過這樣的事情完全VBA模塊代碼? 謝謝你的時間。

回答

0

我設法解決了這個問題,「簡單地」重新創建所有文檔書籤。