VBA - Power Point - Text in Form programmatisch wickeln
-
26-10-2019 - |
Frage
Ich habe an einem kleinen Hack mit Power Point gearbeitet, um automatisch eine Textfeldform mit einem voreingestellten Effekt zu erstellen, bei dem der Text dynamisch aus der Zwischenablage abgerufen wird. Ich habe hier ein bisschen ein Problem, die Funktionalität funktioniert gut mit dem folgenden VB -Skript mit Makros.
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
Kann mir jemand helfen, das Skript für das Wickeln des Textes in die Form mit einer definierten Breite und Höhe wie im obigen Code bereitzustellen?
Lösung
Ich bin mir nicht sicher, ob ich dich richtig verstehe, aber füge hinzu .TextFrame.WordWrap = msoTrue
Lösen Sie Ihr Problem zum Block unten?
With .Shapes(.Shapes.Count)
.Width = 200
.Height = 300
End With
Andere Tipps
Ich denke, Sie suchen das:
.Shapes(.Shapes.Count).TextFrame.TextRange.Text = strClip
Sie können es in das gleiche festlegen With
dass Sie die Höhe und Breite festlegen
Wenn Sie einen Text in eine Form einwickeln möchten, müssen Sie etwas anderes als eine Texteffect -Form verwenden.