設置完成后,按Alt+F9可以顯示或隱藏域定義代碼,本例的域代碼顯示為: 。一個Word模板中可以定義多個域,多個域之間用變量名來區別。本例中的域定義在Word模板的主體部分(即除了頁眉和頁腳)。其讀寫示例分別如下:
For i := 1 to WordDoc.Fields.Count do
begin
If WordDoc.Fields.Item(i).type_ = wdFieldDocVariable then
WordDoc.Fields.Item(i).Result.Text := ’Word文檔中域的使用’; //給域付值
end;
For i := 1 to WordDoc.Fields.Count do
begin
If WordDoc.Fields.Item(i).type_ = wdFieldDocVariable then
Memo1.Lines.Add(WordDoc.Fields.Item(i).Result.Text) : //讀取所有DocVariable類型的域值
end;
Word文檔中域的具體類型共有87種,詳細定義可在Delphi中的Word_Tlb.Pas中查閱。在使用域變量時,必須對域類型進行判斷。以上所舉的例子中都是通過域的遍歷來實現指定位置文字的輸出和讀取,當然也可以通過域變量的名字進行域的識別。具體方法是利用域的Code屬性,提取域定義字符串,然后在域定義字符串中查找域變量。需要注意的是:給域賦值時,域中原有的文字不會被新值替換,只是在域中原有的文字后繼續添加。
以上4種方法,除特殊字符標記法只能用做Word文檔生成之外,其余三種方法既能用作Word文檔生成,也能用作利用模板制作的Word文檔內容的讀取。但是對于利用Word文檔作為系統手動錄入界面來講,書簽法很容易被用戶誤刪除,域定義法更是很難被用戶肉眼識別,且即使識別出來,手動錄入也很麻煩。在實際應用中,表格法制作的模板文件一般來講格式相對穩定,用戶除非有意,否則很難誤刪除。因此表格法制作的模板同其他三種方法相比,更能勝任制作錄入界面的工作。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/