簡體   English   中英

VBA-Power Point-以編程方式將文字環繞在Shape中

[英]VBA - Power Point - Wrap text in Shape programmatically

我一直在與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

有人可以幫我提供用於將文本包裝在形狀和寬度都一樣的形狀內的腳本的方法嗎?

我認為您正在尋找:

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

你可以將它設置在同一With您正在設置的高度和寬度

不知道我是否理解正確,但是在下面的塊中添加.TextFrame.WordWrap = msoTrue可以解決您的問題?

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

如果要使文本環繞在形狀中,則必須使用文本效果形狀以外的其他東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM