VBA - Powerpoint - Testo a capo in forma di programmazione
-
26-10-2019 - |
Domanda
Ho lavorato su un piccolo trucco in giro con Power Point per creare automaticamente un testo forma di scatola con qualche effetto di preselezione in cui il testo è dinamicamente prelevato dalla clipboard. Ho calmare un po 'un problema qui, la funzionalità funziona bene con il seguente script VB con le macro.
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
Can qualcuno mi aiuto nel fornire la sceneggiatura per avvolgere il testo all'interno della forma che ha una larghezza definita e l'altezza come nel codice qui sopra?
Soluzione
Non è sicuro se ho capito bene, ma non aggiungendo .TextFrame.WordWrap = msoTrue
al blocco sotto risolto il problema?
With .Shapes(.Shapes.Count)
.Width = 200
.Height = 300
End With
Altri suggerimenti
Penso che si sta cercando in questo modo:
.Shapes(.Shapes.Count).TextFrame.TextRange.Text = strClip
È possibile impostare nella stessa With
che si sta impostando l'altezza e la larghezza
Se si desidera che il testo per avvolgere all'interno di una forma, dovrete usare qualcosa di diverso da una forma texteffect.