C++ 在哪里可以找到MS Office接口,以便在C++;和COM

C++ 在哪里可以找到MS Office接口,以便在C++;和COM,c++,com,msdn,office-automation,C++,Com,Msdn,Office Automation,我找到了文件MSPPT.OLB,但无法使用Oleview.exe打开它 这不是MSDN上的文档吗,我能找到的只有C#接口。(可能是我错过了/或者不是一个很好的谷歌用户)查找.OLB文件。例如,对于Office 2010: C:\Program Files (x86)\Microsoft Office\Office14>dir *.olb Directory of C:\Program Files (x86)\Microsoft Office\Office14 10/20/2010 03:

我找到了文件
MSPPT.OLB
,但无法使用
Oleview.exe
打开它


这不是MSDN上的文档吗,我能找到的只有C#接口。(可能是我错过了/或者不是一个很好的谷歌用户)

查找.OLB文件。例如,对于Office 2010:

C:\Program Files (x86)\Microsoft Office\Office14>dir *.olb Directory of C:\Program Files (x86)\Microsoft Office\Office14 10/20/2010 03:36 PM 677,248 MSACC.OLB 03/22/2010 08:29 PM 417,144 MSOUTL.OLB 03/08/2010 06:23 PM 402,824 MSPPT.OLB 03/26/2010 08:52 PM 901,464 MSWORD.OLB
是否尝试将EXCEL.EXE等作为类型库打开?否。。我仍然收到相同的错误,
MkParseDisplayName(…)失败。无效语法(MK_E_Syntax)
然后
命令行POWERPNT.EXE不包含有效的永久OLE对象ProgID或类型库文件(Type_E_CANTLOADLIBRARY)
读取错误消息。它表示您正在尝试在POWERPNT.EXE中查找。错误的文件。Oleview.exe被屏蔽了一段时间,iirc在SDK版本7.0(VS2010)中。无论如何,它对你没有帮助,在C++程序中使用“导入”指令导入类型库。使用C#进行互操作是明智的,您将得到更多的帮助,并且需要编写更少的代码。@HansPassant感谢您的建议,但希望进行一些冒险。。所以,用C+普通C++会教我很多东西,我想。我也不知道C#,所以我们的努力几乎是一样的。因此#导入是一种选择。但我还是更愿意编写原始COM程序,因为这个导入指令帮助他的可能性为零。从错误的路径和错误的类型库开始。你必须给这个家伙一个机会,让他找到与谷歌搜索结果相匹配的搜索结果,智能指针和“com错误”对他避免麻烦非常重要。@HansPassant,我鼓励OP自己探索
\import
的威力。在这里,我刚刚粘贴了曾经对我有用的内容。@nosratio,对于.olb文件,我也会遇到同样的错误,因此无法使用
Oleview.exe
打开它们。将尝试导入指令并在此处更新结果。谢谢,谢谢,先生,这帮了大忙。我还没有实现自动化,但我想我已经想到了如何实现这一点。谢谢你,我也实现了自动化。。而且它是有效的。。!再次非常感谢!!
#import "TypeLib\MSWORD.OLB" \
  raw_interfaces_only, \
    rename("ExitWindows","MsoExitWindows"), \
    rename("FindText","MsoFindText"), \
  named_guids