我一直在与Power Point进行小规模的工作,以自动创建一个具有预设效果的文本框形状,其中文本是从剪贴板动态获取的。我在这里安静一点,使用以下带有宏的VB脚本功能正常。
Sub ReadFromFile()
' CLIPBOARD
Dim MyData As DataObject
Dim strClip As String
' CLIPBOARD
Set MyData = New DataObject
MyData.GetFromClipboard
strClip = MyData.GetText
Set activeDocument = ActivePresentation.Slides(1)
With activeDocument
'Set QASlide = .Slides.Add(Index:=.Slides.Count + 0, Layout:=ppLayoutBlank)
activeDocument.Shapes.AddTextEffect PresetTextEffect:=msoTextEffect28, _
Text:=strClip, _
FontName:="Garde Gothic", FontSize:=44, FontBold:=msoTrue, _
FontItalic:=msoFalse, Left:=25, Top:=25
With .Shapes(.Shapes.Count)
.Width = 200
.Height = 300
End With
End With
End Sub
有人可以帮我提供用于将文本包装在具有已定义宽度和高度的形状内的脚本吗?
答案 0 :(得分:0)
我认为你正在寻找这个:
.Shapes(.Shapes.Count).TextFrame.TextRange.Text = strClip
您可以在设置高度和宽度的同一With
中进行设置
答案 1 :(得分:0)
我不确定我是否理解你,但是在下面的块中添加.TextFrame.WordWrap = msoTrue
可以解决您的问题吗?
With .Shapes(.Shapes.Count)
.Width = 200
.Height = 300
End With
答案 2 :(得分:0)
如果要将文本包装在形状中,则必须使用texteffect形状以外的其他内容。