【问题标题】:Adding ActiveX control to powerpoint将 ActiveX 控件添加到 powerpoint
【发布时间】:2013-07-28 21:23:56
【问题描述】:

我的机器上安装了一个 ActiveX 控件,可以通过以下方式从 PowerPoint 添加: 开发人员->控件->更多控件->“我的控件”。

我希望用户能够通过功能区上的自定义按钮添加 ActiveX。
我成功地向我的自定义功能区 (VSTO) 添加了一个按钮。但我找不到让这个按钮将“我的控件”添加到幻灯片的方法。 我还通过调用成功添加了 Excel 工作表:

Shapes.AddOLEObject(1, 1, 100, 100, "Excel.Sheet", "", MsoTriState.msoFalse, "", 0, "", MsoTriState.msoFalse);

但我找不到合适的方法来添加我的自定义 ActiveX。 我究竟做错了什么? 如何从 C# 加载此 ActiveX?

【问题讨论】:

标签: interop activex vsto powerpoint ole


【解决方案1】:

经过两天的搜索,我找到了诀窍:
问题是您需要一个识别 ActiveX 控件的特定字符串。 我所做的是:

  1. 打开 Word 并在开发人员功能区上记录鼠标单击的宏(此选项在 powerpoint 中不存在)
  2. 添加您的控件(控件->更多控件->“我的控件”)
  3. 停止录制宏。
  4. 查看创建的宏的VBA(点击编辑宏)可以找到一个 像“myControlLib.myControlctrl.1”这样的字符串

这是 Shapes.AddOLEObject(...) 所需的字符串作为类名。

【讨论】:

    【解决方案2】:

    Microsoft 有一个名为 OLE/COM 对象查看器的实用程序。您可以使用它来查找 ProgID(用于在 PowerPoint 中添加 ActiveX 控件的字符串)以及您想了解的有关控件的几乎所有其他信息。看看:

    http://msdn.microsoft.com/en-us/library/d0kh9f4c.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-10
      • 1970-01-01
      • 2013-09-04
      • 2019-01-31
      • 1970-01-01
      • 2011-07-27
      • 1970-01-01
      相关资源
      最近更新 更多