我在 PowerPoint 中使用 VBA。
我执行了以下代码,但 AutoSize 不起作用。
一个页面被创建,标题和文本框被创建到这个页面中。 文本框不会自动适合。
请帮助我。
Sub page_create()
Dim myPresentation As Presentation
Dim mySlide As Slide
Set myPresentation = ActivePresentation
'There are 1st slide before!!
Set mySlide = myPresentation.Slides.Add(2, ppLayoutTitleOnly)
mySlide.Shapes.Title.TextFrame.TextRange.Text = "Examples"
Set prevShape = mySlide.Shapes(mySlide.Shapes.Count)
Set myTextbox = mySlide.Shapes.AddTextbox(msoTextOrientationHorizontal, prevShape.Left, prevShape.Top + prevShape.Height, 0, 0)
myTextbox.TextFrame.AutoSize = ppAutoSizeShapeToFitText
myTextbox.TextFrame.TextRange.Text = "list, set, int, float, str, tuple"
我改变了后面句子的顺序,但是没有用。
myTextbox.TextFrame.AutoSize = ppAutoSizeShapeToFitText
myTextbox.TextFrame.TextRange.Text = "list, set, int, float, str, tuple"
我参考了这个
添加
myTextbox.TextFrame.WordWrap = True
对我有用。
Sub page_create()
Dim myPresentation As Presentation
Dim mySlide As Slide
Set myPresentation = ActivePresentation
'There are 1st slide before!!
Set mySlide = myPresentation.Slides.Add(2, ppLayoutTitleOnly)
mySlide.Shapes.Title.TextFrame.TextRange.Text = "Examples"
Set prevShape = mySlide.Shapes(mySlide.Shapes.Count)
Set myTextbox = mySlide.Shapes.AddTextbox(msoTextOrientationHorizontal, prevShape.Left, prevShape.Top + prevShape.Height, 0, 0)
myTextbox.TextFrame.AutoSize = ppAutoSizeShapeToFitText
myTextbox.TextFrame.WordWrap = True 'here
myTextbox.TextFrame.TextRange.Text = "list, set, int, float, str, tuple"
End Sub