Delphi 2010:从Word 2010文档中读取文本

Delphi 2010:从Word 2010文档中读取文本,delphi,ms-word,delphi-2010,Delphi,Ms Word,Delphi 2010,我有一个将信息从数据库插入Word文档的应用程序 我曾要求Word文档中的信息可以在以后更改 为了实现这一点,我编写了一个宏来启动我的应用程序,然后它可以读取文档中的书签以查找文档中的部分 我在阅读设置在特定书签上的文本时遇到了障碍 我可以使用以下代码设置书签的文本: bookmark := 'PersonName'; R := WordDoc.Bookmarks.Item(bookmark).Range; R.Text := "Joe Bloggs"; 问题的一部分是书签不是设置为文本块-这

我有一个将信息从数据库插入Word文档的应用程序

我曾要求Word文档中的信息可以在以后更改

为了实现这一点,我编写了一个宏来启动我的应用程序,然后它可以读取文档中的书签以查找文档中的部分

我在阅读设置在特定书签上的文本时遇到了障碍

我可以使用以下代码设置书签的文本:

bookmark := 'PersonName';
R := WordDoc.Bookmarks.Item(bookmark).Range;
R.Text := "Joe Bloggs";
问题的一部分是书签不是设置为文本块-这确保了设置文本后书签仍然存在-这意味着至少我可以在第二次运行时设置范围

尽管我尽了最大的努力,但我也找不到一种方法来恢复任何结果

R.text

使用书签设置起点时

有什么建议吗


在第二次运行时插入文本效果良好。

在设置文本后尝试读取书签:

Bookmark := 'PersonName';
R := WordDoc.Bookmarks.Item(Bookmark).Range;
R.Text := 'Joe Bloggs';
WordDoc.Bookmarks.Add(Bookmark, R);

因为书签被设置为单个字符,所以R.Text返回一个空字符串。如果书签被扩展以覆盖一些虚拟文本,则书签将在插入时被擦除。。。
Bookmark := 'PersonName';
R := WordDoc.Bookmarks.Item(Bookmark).Range;
R.Text := 'Joe Bloggs';
WordDoc.Bookmarks.Add(Bookmark, R);