起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 217|回复: 10

【结贴】不能保存。**

[复制链接]
发表于 2008-4-25 15:02:43 | 显示全部楼层 |阅读模式
var
  fxls,docs :Object;
  FApp,FDocs,lcells ispatchHelper;
  lFileName: String;
begin
  lFileName := 'C:\Data.xls';
  fxls := ComObj.CreateOleObject('excel.Application');

  FApp := DispatchHelper.Create(fxls);
  FApp.PropertyPut('Visible', [True]);
  docs := FApp.PropertyGet('Workbooks',[]);
  FDocs := DispatchHelper.Create(docs);

  FDocs.InvokeMethod('Add',[True]);
  lcells := DispatchHelper.Create(FApp.PropertyGet('cells', [5,5]));
  lcells.PropertyPut('value',['ceshi']);
  FApp.InvokeMethod('save',[lFileName]);
  FApp.InvokeMethod('quit',[]);


请测试。
回复

使用道具 举报

发表于 2008-4-25 15:39:15 | 显示全部楼层
没有Save这个方法吧,你查查微软的vba吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-25 15:51:26 | 显示全部楼层
查了呀!  有。
请帮忙给看一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-25 16:30:11 | 显示全部楼层
请帮忙给看一下。
回复 支持 反对

使用道具 举报

发表于 2008-4-25 16:46:21 | 显示全部楼层
楼主,我测试果你的例子了,可以保存,只是不知为什么多生成了一个文件。

建议楼主还是查找一下微软的帮助文档吧。
回复 支持 反对

使用道具 举报

发表于 2008-4-28 14:14:37 | 显示全部楼层
我也有这个问题,就是不想让他出那个保存对话框,直接保存。
我查过vba的文档了,但是里面除了save之外,像SaveAs,Saved等方法都用不成,期待解决方案。
回复 支持 反对

使用道具 举报

发表于 2008-4-28 14:42:49 | 显示全部楼层
http://www.jinlei.info/?q=node/10
给你百度了一个。。。
回复 支持 反对

使用道具 举报

发表于 2008-4-28 15:26:19 | 显示全部楼层
var
  fxls,docs,ActiveDocs :Object;
  FApp,FDocs,lcells,FActiveDocs: DispatchHelper;
  lFileName: String;
begin
  lFileName := 'C:\Data.xls';
  fxls := ComObj.CreateOleObject('excel.Application');

  FApp := DispatchHelper.Create(fxls);
  FApp.PropertyPut('Visible', [True]);
  docs := FApp.PropertyGet('Workbooks',[]);
  FDocs := DispatchHelper.Create(docs);
  FDocs.InvokeMethod('Add',[True]);
  lcells := DispatchHelper.Create(FApp.PropertyGet('cells', [5,5]));
  lcells.PropertyPut('value',['ceshi']);
  ActiveDocs := FApp.PropertyGet('ActiveWorkbook',[]);
  FActiveDocs := DispatchHelper.Create(ActiveDocs);
  FApp.PropertyPut('DisplayAlerts',[False]);
  FActiveDocs.InvokeMethod('Saveas',[lFileName]);
  FApp.InvokeMethod('quit',[]);
end;
回复 支持 反对

使用道具 举报

发表于 2008-4-28 17:10:00 | 显示全部楼层
您好,我照着您写的改了一下我的代码,但是走到保存这句的时候
FActiveDocs.InvokeMethod('Saveas',[lFileName]);
就会报错。感觉是'Saveas'这里的问题,因为原先我写的是save时没有问题,只是弹出一个另存为的对话框。

我用的是office2007,应该和我的office版本没有关系吧。


而且我刚刚把任务管理器打开,发现里面excel的进程有很多个,每次执行完这一句
FApp.InvokeMethod('quit',[]);
虽然能关掉窗口,但是进程始终开着,十分占系统资源,顺便问下这个怎么解决啊。
回复 支持 反对

使用道具 举报

发表于 2008-4-28 17:28:28 | 显示全部楼层
我这里是office2003测试没有问题,可能和office版本有关,具体的你再查一下吧。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-12 13:15 , Processed in 0.045948 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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