起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 908|回复: 3

【结】在word中定义的标签怎么找不到

[复制链接]
发表于 2010-8-2 13:26:20 | 显示全部楼层 |阅读模式
在word文件中定义了书签:sq1,为什么在程序执行到 Range.InvokeMethod ('InsertFile',['c:\a.rtf','sq1',False, False, False]);
时总是提示说“标签不存在!”,什么原因呀?
代码如下:
  TOleContainer(DataEdit1.InplaceControl).DoVerb(0);  
  odoc:= TOleContainer(DataEdit1.InplaceControl).OleObject;
  doc := System.DispatchHelper.Create(odoc);
  owordApp:= doc.PropertyGet('Application', []);
  wordApp := System.DispatchHelper.Create(owordApp);
  wordApp.PropertyPut('DisplayAlerts', [False]);
  osel:= wordApp.PropertyGet('Selection', []);
  sel := System.DispatchHelper.Create(wordApp.PropertyGet('Selection', []));
  oRange := sel.PropertyGet('Range', []);
  Range :=  System.DispatchHelper.Create(sel.PropertyGet('Range', []));

  try
    begin
      Range.InvokeMethod ('InsertFile',['c:\a.rtf','sq1',False, False, False]);
    end;
  finally
    begin
      (ofind as System.IDisposable).dispose;
      (osel as System.IDisposable).dispose;
      (owordapp as System.IDisposable).dispose;
      (odoc as System.IDisposable).dispose;
    end;
  end;
回复

使用道具 举报

发表于 2010-8-2 14:15:37 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-8-2 16:49:42 | 显示全部楼层
结吧
回复 支持 反对

使用道具 举报

发表于 2011-11-1 19:17:15 | 显示全部楼层

Re: 在word中定义的标签怎么找不到

最初由 lxh_78 发布
[B]在word文件中定义了书签:sq1,为什么在程序执行到 Range.InvokeMethod ('InsertFile',['c:\a.rtf','sq1',False, False, False]);
时总是提示说“标签不存在!”,什么原?.

以下省略...... [/B]

=====================
前段时间我折腾这块来着:给解答一下,Word中定义的书签,如果在文档中正常定义是没什么问题。但是如果书签被定义到其他Shape上,再通过原来的方法就不好用了;之需要选中其中一个Shape对象,然后再查找就可以找到。有时间可以看看VBA去
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-22 17:55 , Processed in 0.040540 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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