起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: shiyg

【搞定】请问怎样在word文档中查找正则表达式?**

[复制链接]
 楼主| 发表于 2008-3-7 11:54:06 | 显示全部楼层
我能不能通过PropertySet取到Selection的text属性(vba里的)呀
回复 支持 反对

使用道具 举报

发表于 2008-3-7 15:27:07 | 显示全部楼层

不好意思!我同事刚出去了,具体的演示事例怎么给您等一会他回来再说好了.谢谢

不好意思!我同事刚出去了,具体的演示事例怎么给您等一会他回来再说好了.谢谢
回复 支持 反对

使用道具 举报

发表于 2008-3-7 16:03:35 | 显示全部楼层
终于弄出来了。不用演示实例了!

  //通配符

procedure TMainForm.Button2Click(Sender: TObject);
var
  lSelection, lFind: DispatchHelper;
  //lFoundbject;

begin
  lSelection := DispatchHelper.Create(FApp.PropertyGet('Selection', []));
  lFind :=  DispatchHelper.Create(lSelection.PropertyGet('Find', []));

      //注意里面的参数,具体查ms的帮助
      lFind.InvokeMethod('Execute', ['[<]-*-[>]', False, true, true, false, False, True, 1, False,'',
    0, False, False, False, False]);
    // MyWord.Selection.Find.Execute(Replace:=wdReplaceAll, forward:= True, Wrap := wdFindContinue, MatchWildcards := false);
    while objecthelper.ToBoolean(lFind.PropertyGet('Found',[])) do
    begin
    //获取值
      dialogs.ShowMessage(objecthelper.ToString(lSelection.PropertyGet('Text',[])));
       lSelection.PropertyPut('Text',['lj']);
       //设置值
     lFind.InvokeMethod('Execute', ['[<]-*-[>]', False, true, true, false, False, True, 1, False,'',
            0, False, False, False, False]);

    end;

    //vba
   // Function Execute([FindText], [MatchCase], [MatchWholeWord], [MatchWildcards], [MatchSoundsLike], [MatchAllWordForms], [Forward], [Wrap], [Format], [ReplaceWith], [Replace], [MatchKashida], [MatchDiacritics], [MatchAlefHamza], [MatchControl]) As Boolean
  //  Word.Find 的成员


end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-7 17:48:00 | 显示全部楼层
谢谢lixy,这个可以了,结贴吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-8 06:02 , Processed in 0.043116 second(s), 12 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表