将ActiveX控件插入Powerpoint幻灯片

Use*_*123 8 powerpoint vba activex powerpoint-vba

我想将自定义ActiveX控件插入到Powerpoint幻灯片中.我已经创建了自定义控件并对其进行了注册,并测试了它的工作原理.我可以轻松地将自定义控件添加到UserForm,但无法将其直接添加到幻灯片中(根据Developer Tab - > Controls下的其他控件).

是否可以直接将自定义ActiveX控件添加到幻灯片?

如果没有,是否可以将UserForm直接嵌入到幻灯片中?

谢谢!

are*_*192 1

我在这里猜测,但值得一试。当您注册 ActiveX 控件时,我假设您同时分配了一个程序 ID,对吗?如果您这样做了,那么您也许可以将其作为形状对象添加到您指定的幻灯片中。添加形状时,可以添加特定类型的形状,包括 OLEObject。

例如,在下面的代码中,我使用 PowerPoint VBA 将 ActiveX 组合框控件添加到活动演示文稿中的幻灯片 1。需要注意的关键一点是 ProgID 标识正在插入的对象。

Sub ActiveXControlAdd()

'Declare your variables.
Dim PPTPres As Presentation
Dim PPTSld As Slide
Dim PPTShp As Shape

'Grab the slide you want it on.
Set PPTPres = ActivePresentation
Set PPTSld = PPTPres.Slides(1)

'Add a shape, but make sure it's an OLEObject. Also, CLASSNAME is the ProgID!
Set PPTShp = PPTSld.Shapes.AddOLEObject(Left:=100, Top:=100, Width:=150, Height:=50, ClassName:="Forms.ComboBox.1")

'Print it out to make sure.
Debug.Print PPTShp.OLEFormat.ProgID

End Sub
Run Code Online (Sandbox Code Playgroud)

尝试一下,看看是否可以解决问题。