Question

Je travaille sur une petite bidouille autour avec Power Point pour créer automatiquement une zone de texte forme avec un effet prédéfini dans lequel le texte est récupéré dynamiquement du presse-papiers. Je calme un peu un problème, la fonctionnalité fonctionne très bien avec le script VB suivant avec des macros.

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

Quelqu'un peut me aider à fournir le script pour envelopper le texte dans la forme qui a une largeur définie et la hauteur comme dans le code ci-dessus?

Était-ce utile?

La solution

Je ne sais pas si je vous comprends bien, mais n'ajouter .TextFrame.WordWrap = msoTrue au bloc ci-dessous résoudre votre problème?

    With .Shapes(.Shapes.Count)
    .Width = 200
    .Height = 300
    End With

Autres conseils

Je pense que vous cherchez ceci:

.Shapes(.Shapes.Count).TextFrame.TextRange.Text = strClip

Vous pouvez définir dans le même With que vous définissez la hauteur et la largeur

Si vous souhaitez que le texte envelopper dans une forme, vous devrez utiliser autre chose qu'une forme de TextEffect.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top