Vb.net VBA-Power Point-以编程方式以图形形式包装文本
我一直在用Power Point做一个小技巧,自动创建一个带有预设效果的文本框形状,其中文本是从剪贴板动态获取的。我这里有一个小问题,这个功能可以很好地与下面的带有宏的VB脚本配合使用Vb.net VBA-Power Point-以编程方式以图形形式包装文本,vb.net,vba,powerpoint,Vb.net,Vba,Powerpoint,我一直在用Power Point做一个小技巧,自动创建一个带有预设效果的文本框形状,其中文本是从剪贴板动态获取的。我这里有一个小问题,这个功能可以很好地与下面的带有宏的VB脚本配合使用 Sub ReadFromFile() ' CLIPBOARD Dim MyData As DataObject Dim strClip As String ' CLIPBOARD Set MyData = New DataObject MyData.GetFromClipboard strClip = MyD
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
有人能帮我提供脚本,将文本包装在形状内,形状的宽度和高度如上述代码所定义吗?我想您正在寻找以下内容:
.Shapes(.Shapes.Count).TextFrame.TextRange.Text = strClip
您可以使用设置高度和宽度的在相同的
中进行设置不确定我是否理解您的意思,但是将.TextFrame.WordWrap=msoTrue
添加到下面的块中是否解决了您的问题
With .Shapes(.Shapes.Count)
.Width = 200
.Height = 300
End With
如果希望文本在形状中换行,则必须使用texteffect形状以外的其他形状