我用VC封装了MS PowerPoint得TypeLib,然后按如下方法调用:
static const GUID IID_IEApplication =
 {0x914934C2,0x5A91,0x11CF, {0x87,0x00,0x00,0xAA,0x00,0x60,0x26,0x3b}};
//Create a Powerpoint instance
try
{
if(!pptApp.CreateDispatch("PowerPoint.Application", NULL))
{
}
}
catch(COleException *e)
{
e->Delete();
MessageBox("创建接口错误!");
return;
} LPDISPATCH pDisp = NULL;
pDisp = pptApp.m_lpDispatch; HRESULT hr = pDisp->QueryInterface(IID_IEApplication, (void**)&pptApp.m_lpDispatch); 
if (hr == S_OK)
      pDisp->Release();
   else
      pptApp.AttachDispatch(pDisp, TRUE);
这段代码在自己机器上跑没问题,但是一到别人机器就不行,或者在QueryInterface的时候出错,说pptApp.m_lpDispatch是空指针,要么就CreateDispatch出错。但是奇怪的是只要我在别人的机器上将代码重新编译就可以运行。(注:别人的机器也有Office 版本基本相同都是XP或者2003)所以我就晕了,不知是出了什么问题,请指教,万分感谢!!
如果方便,请发到我Email里:[email protected]