我有从 excel 运行的 VBA 代码,它使用从 excel 文档中复制的图表生成 6 张幻灯片演示文稿。我将使用哪些代码行来插入标题幻灯片并定义该幻灯片上的文本(标题 + 副标题)?使用 Excel 2007。
问问题
21808 次
4 回答
5
因此,@Siddharth Rout 提案的一些额外替代方案(这也很好)。我使用.AddTitle
的方法在格式化该形状时可能是有益的。
Sub add_title()
Dim shpCurrShape As Shape
Dim ppPres As Presentation
Set ppPres = ActivePresentation
With ppPres.Slides(1)
If Not .Shapes.HasTitle Then
Set shpCurrShape = .Shapes.AddTitle
Else
Set shpCurrShape = .Shapes.Title
End If
With shpCurrShape
With .TextFrame.TextRange
'~~> Set text here
.Text = "BLAH BLAH"
'~~> Alignment
.ParagraphFormat.Alignment = 3
'~~> Working with font
With .Font
.Bold = msoTrue
.Name = "Tahoma"
.Size = 24
.Color = RGB(0, 0, 0)
End With
End With
End With
End With
End Sub
于 2013-03-29T19:40:03.320 回答
2
您必须使用.AddTextbox
添加标题
看这个例子
Dim shpCurrShape As Object
'~~> If doing from within PP remove oPPApp else it is your PP object
With oPPApp.ActivePresentation.Slides(1)
'~~> Add Heading
'expression.AddTextbox(Orientation, Left, Top, Width, Height)
Set shpCurrShape = .Shapes.AddTextbox(1, 18, 48, 654, 29.08126)
With shpCurrShape
With .TextFrame.TextRange
'~~> Set text here
.Text = "BLAH BLAH"
'~~> Alignment
.ParagraphFormat.Alignment = 3
'~~> Working with font
With .Font
.Bold = msoTrue
.Name = "Tahoma"
.Size = 24
.Color = RGB(0, 0, 0)
End With
End With
End With
End With
截屏
于 2013-03-29T19:24:19.473 回答
1
这是另一个使用“添加”方法的解决方案,并使用 Powerpoint 的幻灯片布局作为标题幻灯片。
Sub AddTitleSlide()
Dim sld As Slide
Dim ttlBox As Shape
Set sld = ActivePresentation.Slides.Add(1, ppLayoutTitle)
Set ttlBox = sld.Shapes("Title 1")
ttlBox.TextFrame2.TextRange.Characters.Text = "Here is the slide title!"
End Sub
于 2013-03-30T14:03:45.040 回答
0
这是我使用的解决方案:
'Setup PPTX File
Set oPA = CreateObject("PowerPoint.Application")
oPA.Visible = True
Set oPP = oPA.ActivePresentation
slideNumber = oPP.Slides.Count + 1
Set oPS = oPP.Slides.Add(slideNumber, ppLayoutBlank)
oPA.ActiveWindow.View.GotoSlide (slideNumber) 'this line makes testing easier otherwise not required
Set sObj = oPP.Slides(slideNumber)
sObj.Shapes(1).TextFrame.TextRange.Text = titleText
'Include Text in Powerpoint
oPP.Slides(slideNumber).CustomLayout = oPP.Designs(1).SlideMaster.CustomLayouts(X) 'X=Layout Number with a title page
sObj.Shapes(1).TextFrame.TextRange.Text = titleText
于 2017-12-01T04:28:58.097 回答