我想将自定义ActiveX控件插入到Powerpoint幻灯片中。我已经创建了自定义控件并对其进行了注册,并测试了它的工作原理。我可以轻松地将自定义控件添加到UserForm,但无法将其直接添加到幻灯片中(根据Developer Tab - > Controls下的其他控件)。
是否可以直接将自定义ActiveX控件添加到幻灯片?
如果没有,是否可以将UserForm直接嵌入到幻灯片中?
谢谢!
答案 0 :(得分:0)
我有点猜测,但是值得一试。当您注册ActiveX控件时,我假设您分配了一个程序ID,对吗?如果这样做,则可以将其作为形状对象添加到指定的幻灯片中。 添加形状时,可以添加特定类型的形状,包括OLEObject。
例如,在下面的代码中,我将使用PowerPoint VBA在Active Presentation中的幻灯片1中添加一个ActiveX ComboBox控件。需要注意的关键是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
尝试一下,看看是否可以解决问题。