访问微软.未安装Office的Office文件(PowerPoint)



我正在使用user32.dll的Windows函数SetParent()和SetWindowPos()在WPF应用程序中显示PowerPoint演示文稿,并将句柄设置为我的应用程序句柄。

我在我的项目中引用了Microsoft.Office.Core.dll和Microsoft.Office.Interop.PowerPoint.dll来打开演示文稿并像这样来回滑动:

using Microsoft.Office.Interop.PowerPoint;
Application pp = new Application();
Presentation p = pp.Presentations.Open(...);

安装PowerPoint后一切正常

当它没有安装我得到错误:"检索COM类工厂的组件与CLSID{…}失败,由于以下错误:80040154类未注册"

我原以为只要安装免费的PowerPoint Viewer就可以了,但这似乎还不够。

是否有可能在没有完整授权版本的PowerPoint的情况下工作?

谢谢。

No。据我所知,互操作或多或少与早期基于com的语言中的类型库相同。它们列出了例如PowerPoint的功能,并告诉宿主语言如何访问这些功能。它们不是实际的能力。

有了互操作/tlb就相当于有了汽车的驾驶手册。你可以通过阅读来了解这辆车的特点,但是在你拥有这辆车之前,你不能驾驶它。

除非你有ppt,否则你也无法驾驶它。

最新更新