如何使用CoCreateInstance 带参数创建excel

fjchenqian 2014-02-07 10:41:33
直接在命令行运行excel, 启动的时候.可以带参数.例如 excel /safe 以安全模式启动
我是用程序创建一个excel进程,怎么设置 /safe 参数?

bool ExcelCom::Init() 
{
HRESULT hr = ::CoInitialize(NULL);

if(SUCCEEDED(hr) )
{
CLSID id;
CLSIDFromProgID(L"Excel.Application", &id);
IDispatch* pDisp;
hr=::CoCreateInstance(id,NULL,CLSCTX_LOCAL_SERVER,IID_IDispatch,(void**)&pDisp);

if( SUCCEEDED(hr) )
{
this->p = pDisp;

CComVariant res;
hr = GetPropertyByName(L"Workbooks",&res);
if (res.pdispVal)
{
CComDispatchDriver wbDisp(res.pdispVal);
hr=wbDisp.Invoke0(L"Add");

m_Valid = true;
}
}
}

if(m_Valid) Minimiz();

return m_Valid;
}
...全文
293 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fjchenqian 2014-02-08
  • 打赏
  • 举报
回复
自己顶..自己顶..
许文君 2014-02-08
  • 打赏
  • 举报
回复
直接CreateProcess来创建
见习学术士 2014-02-08
  • 打赏
  • 举报
回复
excel /safe 这个是应用程序参数,你应该是要找到 Excel.Application 对象的安全模式方法去调用

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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