| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 672 人关注过本帖
标题:VC调用Excel的退出问题?
只看楼主 加入收藏
laoyingyzp
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-8-6
收藏
 问题点数:0 回复次数:1 
VC调用Excel的退出问题?
程序代码:
以下是本人在编译环境为VS2010,Excel为2010环境下编写的一段代码,执行后,
Excel进程无法关闭,参考了网上的许多措施,也无法关闭Excel进程,望高手指点!
谢谢!!!
CString FilePathName;
CFileDialog dlg(true,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
_T("EXCEL文件(*.xls;*.xlsx)|*.xls;*.xlsx||"),AfxGetMainWnd());

if(dlg.DoModal()==IDOK)
{ 

FilePathName=dlg.GetPathName(); 
CApplication app;
CWorkbook book;
CWorkbooks books;
CRange range;
CWorksheets sheets;
CWorksheet sheet;
COleException* pe = new COleException;
if (!app.CreateDispatch(_T("Excel.Application"),pe))
{
MessageBox(_T("Error!Creat Excel Application Server Faile!"));
exit(1);
}
app.put_Visible(true);

books = app.get_Workbooks();
book = books.Add(_variant_t(FilePathName));

int num_Sheel;

sheets.AttachDispatch(book.get_Worksheets());
num_Sheel=sheets.get_Count();
sheet.AttachDispatch(sheets.get_Item(COleVariant((short)1)));
range = sheet.get_Range(COleVariant(_T("A1")),COleVariant(_T("A1")));
_variant_t var;
CString strResult;
int i,j;
i=1;
j=1;

var=range.get_Item(_variant_t(i),_variant_t(j)); 

range.ReleaseDispatch();
sheet.ReleaseDispatch();
sheets.ReleaseDispatch();

//结尾,释放
COleVariant covTrue((short)TRUE),covFalse((short)FALSE),covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);  
book.Close(covFalse,covOptional,covOptional);
books.Close();
pe->Delete(); 

book.ReleaseDispatch();
books.ReleaseDispatch();
app.Quit();
app.ReleaseDispatch(); 

MessageBox(_T("完成"),_T("提示"),MB_OK);
}


[ 本帖最后由 laoyingyzp 于 2012-5-22 08:38 编辑 ]
搜索更多相关主题的帖子: Excel 2010 
2012-05-22 08:34
laoyingyzp
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-8-6
收藏
得分:0 
自己先支持一下啊!
2012-05-22 08:37
快速回复:VC调用Excel的退出问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033625 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved