2012-11-15 27 views
0

我有一個帶有多個FormField的Microsoft Word 2010模板文件。項目名稱,項目位置和項目編號的頂部有三個。我打算攔截FileSave內置宏並連接上面提到的三個字段的值,以在另存爲對話框中建議一個文件名。我的代碼包括:在字模板中輸入值後,FormField的結果返回空值

Sub FileSave() 

    With Dialogs(wdDialogFileSaveAs) 
     .Name = ThisDocument.FormFields("ProjectNumber").Result & _ 
       ThisDocument.FormFields("ProjectName").Result & _ 
       ThisDocument.FormFields("ProjectLocation").Result 
     .Show 
    End With 

End Sub 

當我填寫三個字段,然後按Ctrl + S,保存,如確實出現對話框,但文件名是空白。在立即窗口進一步調查後,我可以引用這些字段,但是它們的Result屬性總是返回一個空字符串。因此對話框中的文件名顯示爲空白。我可以引用布爾屬性,Type屬性等,並通過即時窗口將其顯示在MsgBox中,但我無法讓它返回任何結果。有沒有人有一個想法,爲什麼這可能是?

回答

1

所以看起來這個問題的答案是這樣的:我仍然在模板文檔中工作,而不是一個啓用宏的文檔。對於模板,在宏運行期間,文檔上的字段不包含值。爲了使宏能夠使用輸入到FormField中的值,它必須是文檔而不是模板。希望這可以幫助任何人回答這個問題。