我是VBa的新手,最近遇到了以下问题:我将excel表中的数据(行)复制到powerpoint中,我想为我复制的每一行(因此对于excel中的每一行)制作一个组合框。所有我能找到的是如何通过Powerpoint中的菜单手动插入组合框,但我想避免手动添加这么多。有没有办法通过VBA代码添加组合框?
Here is some of the code I use:
'Loop through each worksheet
For Each objSheet In ActiveWorkbook.Worksheets
'Create new slide for the data
Set pptSld = pptPre.Slides.Add(Index:=pptPre.Slides.count + 1, Layout:=ppLayoutText)
'Paste the data to the text box of each slide
objSheet.UsedRange.Copy
pptSld.Shapes(2).TextFrame.TextRange.Paste
'Formatting the text box 2
pptSld.Shapes(2).TextFrame.TextRange.ParagraphFormat.Bullet = msoTrue
pptSld.Shapes(2).TextFrame.TextRange.ParagraphFormat.Bullet.RelativeSize = 1
pptSld.Shapes(2).TextFrame.TextRange.Font.Size = 16
Next objSheet
如何继续?想要为每个工作表行定义一个组合框
答案 0 :(得分:0)
我不清楚您发布的代码与添加组合框有什么关系,但这里有一个如何添加组合框并向其中添加项目的示例:
Dim oSh As Shape
Dim oSl As Slide
Set oSl = ActivePresentation.Slides(1)
Set oSh = oSl.Shapes.AddOLEObject(Left:=168, Top:=24, Width:=192, Height:=24, ClassName:="Forms.ComboBox.1", Link:=msoFalse)
With oSh.OLEFormat.Object
.AddItem ("This")
.AddItem ("That")
.AddItem ("The Other")
End With