2015-11-20 303 views
0

我必須將某些來自Delplhi的數據庫字段數據更新爲Word文檔。我必須找到一個特定的領域,在一個單詞文件中的幾個地方重演(表格,第1段第5段)。在Word文檔中查找特定的字符串並更新

wordapp: Twordapplication; 
Bookmarkname,Bookmarkrange:Olevariant; 
Bookmarkname := 'Supplier'; 
if Wordapp.ActiveDocument.Bookmarks.Exists(BookmarkName) then //condition to check for a particular string 
begin 
BookmarkRange := Wordapp.ActiveDocument.Bookmarks.Item(BookmarkName).Range; 
BookmarkRange.InsertAfter('Database Value/String that needs to be updated in word document'); 

我能找到一個字符串,然後把書籤旁的字和更新使用上面提供Delphi代碼創建的書籤值。我的問題是,我試圖在另一個地方使用相同的書籤名稱,它不起作用。有人可以幫忙嗎?在此先感謝

回答

0

書籤只能存在於一個地方,因此您不能使用該方法進行多個替換。

然而,您可以在Word自動化中直接進行搜索和替換,以便您可以使用標籤例如{{forename}},{{address1}}或其他任何內容,只需用數據庫中的值替換該文本即可。

比書籤更易於使用,因爲您實際上可以在模板文檔中看到標籤。

1

您可以使用三個書籤(名稱略有不同)。

或者您可以使用內容控制而不是書籤。內容控件可以具有相同的標題或標籤(它們沒有「名稱」)屬性。 Document SelectionContentControlsByTitle(或... ByTag)返回文檔中所有內容控件的數組,然後可以循環數組並寫入它們。

效率更高,特別是對於數據目的而言,將內容控件鏈接到自定義XML部件。多個內容控件可以鏈接到同一個XML節點:寫入節點將更新所有鏈接的內容控件中的數據。

相關問題