将ActiveX控件添加到powerpoint

时间:2013-07-29 07:17:05

标签: interop activex vsto powerpoint ole

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

我希望用户能够通过功能区上的“自定义”按钮添加ActiveX 我成功地将一个按钮添加到我的自定义功能区(VSTO)。但是我无法找到一种方法来使这个按钮在幻灯片中添加“我的控件”。 我还通过调用:

成功添加了Excel表格
Shapes.AddOLEObject(1, 1, 100, 100, "Excel.Sheet", "", MsoTriState.msoFalse, "", 0, "", MsoTriState.msoFalse);

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

2 个答案:

答案 0 :(得分:1)

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

  1. 打开Word并在开发人员功能区上记录鼠标点击的宏(此功能在powerpoint中不存在)
  2. 添加您的控件(Controls-> More Controls->“我的控件”)
  3. 停止录制宏。
  4. 查看宏的VBA创建(点击编辑宏)你可以找到一个 字符串如“myControlLib.myControlctrl.1”
  5. 这是Shapes.AddOLEObject(...)作为类名所需的字符串。

答案 1 :(得分:0)

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

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