起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 266|回复: 6

【结贴】关于word文档的操作

[复制链接]
发表于 2010-6-4 13:54:11 | 显示全部楼层 |阅读模式
在x3中如何控制word文档,并将某字符替换成当前数据
回复

使用道具 举报

发表于 2010-6-4 14:01:38 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-6-4 14:14:25 | 显示全部楼层
FWord、FApp、FDocs是什么类型呀?
回复 支持 反对

使用道具 举报

发表于 2010-6-4 14:23:45 | 显示全部楼层
FWord bject;
FApp,FDocs ispatchHelper;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-6-4 15:03:11 | 显示全部楼层
lSelection := DispatchHelper.Create(FApp.PropertyGet('Selection', []));
  lFind :=  DispatchHelper.Create(lSelection.PropertyGet('Find', []));
  lReplacement := DispatchHelper.Create(lFind.PropertyGet('Replacement', []));

  lFind.InvokeMethod('ClearFormatting', []);
  lReplacement.InvokeMethod('ClearFormatting', []);

  lFind.InvokeMethod('Execute', [edit1.Text, False, False, False, False, False, True, 1, False, edit2.Text,
    2, False, False, False, False]);
能解释一下这些语句么,尤其是最后一句
回复 支持 反对

使用道具 举报

发表于 2010-6-4 15:17:21 | 显示全部楼层
上面连接中的10楼有解释
{
8楼的例子是用Word的Replace功能,替换你文档中定义的标签。

你可以在模板文档中定义好各个字段标签,如: {Field_ID}
然后用8楼的例子,用代码方式根据数据集的内容替换这些标签就可以了。
}

13楼有完整例子

procedure TMainForm.replaceClick(Sender: TObject);
var
  lSelection, lFind, lReplacement: DispatchHelper;
begin
  lSelection := DispatchHelper.Create(FApp.PropertyGet('Selection', []));
  lFind :=  DispatchHelper.Create(lSelection.PropertyGet('Find', []));
  lReplacement := DispatchHelper.Create(lFind.PropertyGet('Replacement', []));

  lFind.InvokeMethod('ClearFormatting', []);
  lReplacement.InvokeMethod('ClearFormatting', []);

  lFind.InvokeMethod('Execute', [edit1.Text, False, False, False, False, False, True, 1, False, edit2.Text,
    2, False, False, False, False]);
end;
这一段就是用来做替换的,你使用这个默认参数就可以了。
我也是临时插vba帮助,所以对每个参数的具体作用不太清楚。

这是我的完整例子,你可以用studio的 业务资源管理器 拷贝到x3中。
把 “一”替换成了 “{Edit2}”

附件: temp.rar
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-6-4 15:24:58 | 显示全部楼层
谢谢,结吧
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-8 16:24 , Processed in 0.044484 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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