2017-05-03 45 views
1

進出口使用訪問使用此代碼(例如)填寫文檔中formfields編輯Word文檔和IM:編輯formfields /從訪問Word引用

.FormFields("txtProsjektNavn").result = DLookup("txt", dbName, "key = 
'byggNavn'") 
.FormFields("txtProsjektNr").result = DLookup("value1", dbName, "key = 
'prosjektNr'") 
.FormFields("txtOverblikk").result = DLookup("txt", dbName, "key = 
'txtOverblikk'") 
.FormFields("txtByggEier").result = DLookup("txt", dbName, "key = 
'byggEier'") 

這是所有工作的罰款和花花公子,但。 其中一些值需要在文檔中重複多次。 我認爲在word文檔中爲2個表單賦予相同的書籤名稱是一個禁忌。因此,不必創建大量不同名稱的表單域,我試圖創建引用已經創建的表單域的REF域,但是,當訪問更新表單域本身時,它們不會更新。

有沒有人有這個解決方案,或者我只需要使用不同的名稱,如:text1,text2,text3,然後有權訪問使用相同的值填充它們的大量表單域。

回答

0

我嘗試了建議的解決辦法,但我的問題是,當我在文檔中的所有字段更新表單字段重置爲空白。 我通過循環遍歷交叉引用字段來解決這個問題,並單獨對它們進行更新。

docField as Word.Field 

    For Each docField In doc.Fields 
    If docField.Type = wdFieldRef Then 
     docField.Update 
    End If 
    Next docField 
1

您已填寫所需的表單字段。如果您想重複這些值,您可以使用cross-reference

一旦您按照以下步驟設置了所有字段,那麼您可以在填充表單字段後使用ActiveDocument.Fields.Update自動更新字段。

插入 - >交叉參考(在鏈接)

enter image description here

選擇參考類型爲書籤和插入

enter image description here

在vba中使用ActiveDocument.Fields.Update更新字段。

enter image description here

+0

嘿!這正是我正在尋找的東西,而我剛纔也是這樣做的。但是,有些問題,我運行activedocument.fields.update後,我的表單字段重置爲空白。哪一種導致交叉引用是空白的 – Arne