在DLL中操作Excel的问题?(虽然很多人问,但是我看了还是没解决)
我想在我的DLL中操作Excel文件,DLL入口如下:
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
switch(reason)
{
case DLL_PROCESS_ATTACH:
CoInitialize(NULL);
break;
case DLL_PROCESS_DETACH:
CoUninitialize();
if (FormPrintMain != NULL)
{
SendMessage(FormPrintMainHandle,WM_CLOSE,NULL,NULL);
}
Application = SaveApp ; // 恢复 Application
break;
}
return 1;
}
然后操作Excel如下:
try
{
Excel=Variant::CreateObject("Excel.Application");
Excel.OlePropertySet("Visible",true); //运行到这里出错
Excel.OlePropertyGet("WorkBooks").OleProcedure("add"); //新建一个工作薄
}
catch(...)
{
ShowMessage("运行Excel出错,请确认安装了Office");
return;
}
运行到Excel.OlePropertySet("Visible",true); 出现访问错误;
Access violation at address 013773C7. Read of address 00000800;
原因是什么呢?请高手回答下,谢谢