怎样将Word中的书签的文字替换掉,但是不要将书签删除(200分)(200分)

  • 主题发起人 主题发起人 daoodaoo
  • 开始时间 开始时间
D

daoodaoo

Unregistered / Unconfirmed
GUEST, unregistred user!
我用 Doc.Bookmarks.Item('book1').Range.text :='111';
但是这样一来'book1'这个书签也没有了.
我试着
Ps,Pe :DWord;
ARange :OleVariant;
Ps := Doc.Bookmarks.Item('book1').Range.Start;
Pe := Doc.Bookmarks.Item('book1').Range.End;
ARange := Doc.Range(Ps, Pe - 1);
ARange.text :='111';

Ps := Doc.Bookmarks.Item('book1').Range.Start;
Pe := Doc.Bookmarks.Item('book1').Range.End;
ARange := Doc.Range(Ps, Pe - 1);
ARange.text :='222';
但是这样以来对于很大的Word文档就超出范围了.

恳请那位高手帮忙啊

 
不要用Doc.Bookmarks.Item('book1').Range.text ,我一向用的是Doc.BookMarks.Item('book1').select;Doc.Selection.InsertAfter('要插入的内容');这样书签还在。
 
to daoodaoo:
leohubble说得对,你测试了吗?
 
我的问题是,要进行多次替换,每次替换要把以前的替换掉;
比如,第一次,在'book1'书签处插入'111';第二次希望插入'222',并且将'111'覆盖掉
我的书签是这样的形式:[标签]
 
那你输入的内容是否有共性?比如位数一样什么的?
 
我已经自己解决了,请版主收回.
,我的方法是还是想以前那样替换,这样虽然书签没有了,但是我将插入的值重新生成一个同样名称的书签,这样问题就解决了,虽然方法差了点,但是能够解决问题.希望大家能够有更好的解决方法
 
不用书签啊,随便替换。
我网站上有点相关内容。
http://jjb.swaysoft.com/DocContent.asp?id=5
 
to 天与地
替换不行啊.
第一我的文档有几千个书签,你这样要死机啊
第二我的文档要重复替换
第三我只想替换书签'book1',而不想替换其他的'book1'字符串
 
我以前做过指定段落、指定文字的替换。
我提供的是一个文字的替换函数。
你想不想把解决的方案提供出来大家共享啊?我可以帮你发布到网站上。:)
 
To 天与地
我就公布我的代码,让大家互相学习啊
var
vBMname, vRange: OleVariant;
vBMname :='book1';
tWdoc.Bookmarks.Item(vBMname).Range.Select;
tWApp.Selection.Text := '111';
vRange := tWApp.Selection.Range;
tWdoc.Bookmarks.Add(vBMname, vRange); //
 
后退
顶部