起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 140|回复: 1

创建Word文档??******

[复制链接]
发表于 2009-3-12 17:26:09 | 显示全部楼层 |阅读模式
以下代码创建Word文档,不知道有什么问题?
如果是打开文档则OK, FDocs.InvokeMethod('Open', [sFileName]);

var
  lPath,sFileName,sFileExt: String;
  svDialog: TSaveDialog;
  o:   Object;
  FApp,FDocs: System.DispatchHelper;
begin
TSaveDialog.Create(self);
  svDialog:= TSaveDialog.Create(self);
  if svDialog.Execute then
  begin
    sFileName := svDialog.FileName;
    sFileExt := SysUtils.UpperCase(SysUtils.ExtractFileExt(sFileName));
    if sFileExt='' then
    begin
      sFileExt := '.doc';
      sFileName := sFileName+sFileExt;
    end;
    if SysUtils.FileExists(sFileName) then
    if Jsdialogs.ConfirmBox('该文件已经存在,是否要覆盖该文件?','提示',2)=False then Exit;

    o := ComObj.CreateOleObject('Word.Application');
    FApp := System.DispatchHelper.Create(o);
    FApp.PropertyPut('Visible', [True]);//不隐藏
    FDocs := System.DispatchHelper.Create(FApp.PropertyGet('Documents',  []));
    //FDocs.InvokeMethod('Add', [sFileName,False]);
    FDocs.InvokeMethod('Add', [sFileName,False]);
end;
end;

未命名.jpg

16.49 KB, 下载次数: 89

回复

使用道具 举报

发表于 2009-3-12 18:05:32 | 显示全部楼层
//FDocs.InvokeMethod('Add', [sFileName,False]); 这句改成下面这句
    FDocs.InvokeMethod('Add', []);
你的文档都没保存过,当然不能打开。一种方式是我上面写的,一种方式是先保存一遍空文档,再打开。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-24 04:41 , Processed in 0.039756 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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