0
我將從訪問中生成一個文檔,並希望在文檔中使用字段代碼「ListNum」。我有以下宏從MS字正確運行時正確地將字段代碼添加到文檔中。當我從Access運行VBA時,如何在MS Word中添加新的Fieldcode
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
"LISTNUM LegalDefault ", PreserveFormatting:=False
然而,當我在訪問通過Word對象運行這個從VBA似乎沒有工作。訪問中的代碼如下。
Dim objApp As Object
Set objApp = GetObject("Word.Application")
Set objApp = CreateObject("Word.Application")
objApp.Visible = True
Set Word = objApp
With Word
.Documents.Add
.activedocument.Fields.Add Range:=.Selection.Range, Type:=wdFieldEmpty, Text:="LISTNUM LegalDefault ", PreserveFormatting:=False
End With
如果我使用「運行」功能
Word.Run "ListNum"
從訪問調用字它的工作原理也一樣,雖然我可以用這個宏,它,因爲它依賴於用戶具有的效果並不理想這個宏在他們的模板中
感謝您的任何提示。
如果使用遲綁定(即沒有對Word對象模型的引用設置),則適用於所有Word常量。 - 確保在每個模塊的頂部有['Option Explicit'](https://msdn.microsoft.com/en-us/library/bw9t3484%28v=vs.84%29.aspx)。 它在編譯時執行變量聲明並報告未聲明或拼寫錯誤的變量/常量,所以它在運行時不會咬你。 要在新模塊中自動執行此操作,請在VBA編輯器中設置[需要變量聲明](http://www.fmsinc.com/microsoftaccess/modules/options/index.html)選項。 – Andre
是的,我剛纔遇到類似的問題,並忘記了這一點。我有一個錯誤處理程序,我還沒有正確定義此模塊,它沒有提供錯誤消息,只是跳過它(當時我告訴它要做的)從我睡眠的時刻,但所有排序現在!謝謝。 –