我有一个“模板”,一个常规的word文件,我需要在特定的地方插入文字。我从这里改编了代码:
http://www.swissdelphicenter.ch/torry/showcode.php?id=1304
以满足我的需求。所以我在word文件中添加了一些标识符并使用了replace函数。它工作正常但我无法插入备忘录的文本,因为它对于单词替换功能来说太大了......
简而言之,我需要一种方法来找到一个id(#social
)并用大文本替换它...我已经看过范围函数但是不明白它是如何工作的。我需要一个例子来了解如何做到这一点。
答案 0 :(得分:2)
更好的Word模板方法是在需要以编程方式添加信息的任何位置插入书签。在Word模板中,只需突出显示要转换为书签的范围,然后使用Insert -> Bookmark
或按 Ctrl + Shift + F5 大骨节病>。
为书签指定名称,然后插入文字,如:
var
LWordDoc : WordDocument;
R : WordRange;
// ...open the document, etc
if LWordDoc.Bookmarks.Exists('My Bookmark') then begin
R := LWordDoc.Bookmarks.Item('My Bookmark').Range;
R.InsertAfter('foo');
end else begin
// handle missinng bookmark
end;
此处,使用.InsertAfter
文本将添加到书签之后。您还可以使用任何其他Range
方法或属性,例如R.Text := 'foo';
,将突出显示的范围替换为您提供的文字。
将书签名称存储在某种智能结构中非常有用 - 您决定如何做到这一点取决于您。