请教高手:我用delphi5 的EXECL控件打开execl,生成一个execl表弹,往里面输入数据,操作完后,直接点击EXECl界面的退出按钮,回到我自己

tingst 2002-12-30 03:22:05
请教高手:我用delphi5 的EXECL控件打开execl,生成一个execl表弹,往里面输入数据,操作完后,直接点击EXECl界面的退出按钮,回到我自己的应用程序界面时,怎么老是出现内存出错异常?如果我用自己程序关闭EXECl就不会出错,不知如何解决,
...全文
139 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzyzljk 2003-01-02
  • 打赏
  • 举报
回复
提问前还是找找看哦:
使用动态创建的方法
首先创建 Excel 对象,使用ComObj(在USES中加入):
var ExcelApp: Variant;
ExcelApp := CreateOleObject( 'Excel.Application' );

显示当前窗口:
ExcelApp.Visible := True;

更改 Excel 标题栏:
ExcelApp.Caption := 'Excel demo';

添加新工作簿:
ExcelApp.WorkBooks.Add;
打开已存在的工作簿:
ExcelApp.WorkBooks.Open( 'ok.xls' );
设置第1个工作表为活动工作表:
ExcelApp.WorkSheets[1].Activate;

ExcelApp.WorksSheets[ 'Sheet2' ].Activate;
给单元格赋值:
ExcelApp.Cells[1,4].Value := '第一行第四列';
打印预览工作表:
ExcelApp.ActiveSheet.PrintPreview;
打印输出工作表:
ExcelApp.ActiveSheet.PrintOut;
工作表保存:
if not ExcelApp.ActiveWorkBook.Saved then
ExcelApp.ActiveSheet.PrintPreview;

工作表另存为:
ExcelApp.SaveAs( 'C:\Excel\Demo1.xls' );

放弃存盘:
ExcelApp.ActiveWorkBook.Saved := True;

关闭工作簿:
ExcelApp.WorkBooks.Close;

退出Excel:
ExcelApp.Quit;
pingshx 2003-01-01
  • 打赏
  • 举报
回复
在程序里用olevariant.quit关闭 excel,在关闭之前,好像用save保存。
tingst 2002-12-31
  • 打赏
  • 举报
回复
我的意思是,激活EXECL输出自己的数据,然后就断开我自己程序和EXECL的联系,我不知道如何使用控件来实现
tingst 2002-12-30
  • 打赏
  • 举报
回复
我也是这样想的,不过不知OleContainer如何来写打开,输出表格,并关闭,
rainsea 2002-12-30
  • 打赏
  • 举报
回复
当然了,你用控件调用的Excel,当然要有它自己来释放了,而你在程序外面关闭了Excel,肯定出现内存异常的。
如果你想关闭Excel界面(在Excel环境下),不妨用一下OleContainer。

5,930

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧