2011-04-01 49 views
2

我有用C#编写的ActiveX控件。我可以在我的机器上注册并通过开发人员功能区放入PowerPoint 2007幻灯片。很棒!如何在PowerPoint中嵌入ActiveX控件

但是,我不希望我的用户不得不在他们的机器上安装控件。我想直接将其嵌入到PowerPoint文件中。

我已经看到这与Flash内容完成。 PPTX文件获取“bin”目录,并将实际的Flash COM DLL放入其中。

但是,我的PPTX文件只有activex目录,因此依赖于全局注册的控件。

如何获得PowerPoint以完全嵌入此控件?

澄清我后来发现“bin”中的文件实际上直接是SWF文件,而已注册的Flash ActiveX控件仅仅是被使用的。该死。

+0

+1。好问题。我不认为这是可以做到的。 2007年闪存嵌入式走了,在2010年它回来了。 – 2011-04-01 16:56:26

回答

2

几个问题,我可以看到这样做。如果用户禁用了ActiveX控件(ActiveX安全设置 - Microsoft Office安全性),则对于脚本/宏也是如此。如果用户没有安装所需的.net框架(因为它是C#问题,我想ActiveX是在C#中完成的),或运行您的ActiveX所需的任何其他运行时?

每个ActiveX都必须注册才能使用。如果你很幸运并且用户启用了activex/scripting,那么你可以尝试通过VBScript注册你的ActiveX,并嵌入到你的Powerpoint演示文稿中。您可以通过Wscript.Shell使用RegSvr32(静默模式),或者您可以查找本机(API)功能。

+0

我很幸运,这是一个企业环境,我可以要求安装.NET 4.0,并且人们可以在PPT中启用ActiveX内容。我很不走运,因为没有用户具有管理员权限,并希望我可以通过PowerPoint“注销”注册。我喜欢你的wscript想法,如果没有其他选项可用,我们会追求它。谢谢! – 2011-04-02 01:15:54

+1

@Frank Krueger:如果您拥有受控环境,那么您可以告诉管理员自动在所有客户端计算机上推送无提示安装ActiveX。看看:http://technet.microsoft.com/en-us/library/cc181631.aspx – HABJAN 2011-04-02 11:32:16

+0

当我说“授权.NET 4.0”时,我可能会夸大其词。 :)我应该说,我关心的所有机器都已经安装好了。但是,感谢您提供更多的想法和信息。 – 2011-04-06 20:42:39

相关问题