【问题标题】:How to embed ActiveX control in PowerPoint如何在 PowerPoint 中嵌入 ActiveX 控件
【发布时间】:2011-07-27 20:09:14
【问题描述】:

我有一个用 C# 编写的 ActiveX 控件。我可以在我的机器上注册它并通过 Developer 功能区放入 PowerPoint 2007 幻灯片。效果很好!

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

我已经看到使用 Flash 内容完成此操作。 PPTX 文件有一个“bin”目录,实际的 Flash COM DLL 放在其中。

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

如何让 PowerPoint 完全嵌入此控件?

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

【问题讨论】:

  • +1。好问题。我不认为它可以做到。 Flash 嵌入在 2007 年消失了,在 2010 年又回来了。

标签: c# .net activex ms-office powerpoint


【解决方案1】:

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

必须先注册每个 ActiveX,然后才能使用它。如果您很幸运并且用户启用了 activex/脚本,那么您可以尝试通过嵌入在您的 power point 演示文稿中的 VBScript 注册您的 ActiveX。您可以通过 Wscript.Shell 使用 RegSvr32(静默模式),也可以查找本机 (API) 函数。

【讨论】:

  • 我很幸运,这是一个公司环境,我可以强制安装 .NET 4.0 并且人们在 PPT 中启用 ActiveX 内容运行。我很不幸,因为没有一个用户拥有管理员权限,并希望我可以通过 PowerPoint “溜走”注册。我喜欢你的 wscript 想法,如果没有其他选项可用,我会继续努力。谢谢!
  • @Frank Krueger:如果您有受控环境,那么您可以告诉您的管理员在所有客户端机器上自动推送 ActiveX 的静默安装。看一看:technet.microsoft.com/en-us/library/cc181631.aspx
  • 当我说“强制 .NET 4.0”时,我可能有些夸大其词。 :) 我应该说我关心的所有机器都已经安装了它。但感谢您提供额外的想法和信息。
猜你喜欢
  • 1970-01-01
  • 2013-09-04
  • 2013-07-28
  • 2011-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多