высота текстового поля vba auto fit в MS издатель - PullRequest
0 голосов
/ 26 октября 2019

Как включить расширение текстового поля в MS Publisher с использованием VBA , чтобы включить расширение текстового поля в MS Publisher 2016 с использованием VBA] [1]

У меня тоже есть такая же проблемано не могу найти ответ, где любая идея, которую я делаю газетный макрос на издателе 2016, хочу установить автоматическую высоту текстового поля и фиксированной ширины, вот мой код

Set shpTextBox = ActiveDocument.Pages(1).Shapes.AddTextbox _
 (Orientation:=pbTextOrientationHorizontal, _
 Left:=0, Top:=0, _
 Width:=20, Height:=30)
 ActiveDocument.Pages(1).Shapes(1).TextFrame.TextRange.Text = "A Quick Brown Fox jumps over the lazy dog"

 Set shpTextBox = ActiveDocument.Pages(1).Shapes.AddTextbox _
 (Orientation:=pbTextOrientationHorizontal, _
 Left:=200, Top:=300, _
 Width:=150, Height:=10)


 ActiveDocument.Pages(1).Shapes(1).TextFrame.NextLinkedTextFrame = ActiveDocument.Pages(1).Shapes(2).TextFrame
 ActiveDocument.Pages(1).Shapes(2).TextFrame.AutoFitText = pbTextAutoFitShrinkOnOverflow

1 Ответ

0 голосов
/ 10 ноября 2019
I got it.....
it is as simple as...

    Dim shpTextBox As Shape

Set shpTextBox = ActiveDocument.Pages(1).Shapes.AddTextbox _
 (Orientation:=pbTextOrientationHorizontal, _
 Left:=0, Top:=0, _
 Width:=100, Height:=100)
 ActiveDocument.Pages(1).Shapes(1).TextFrame.TextRange.Text = "A Quick Brown Fox Jumps over the lazy Dog, A Quick Brown Fox Jumps over the lazy Dog, A Quick Brown Fox Jumps over the lazy Dog"




Set shpTextBox = ActiveDocument.Pages(1).Shapes.AddTextbox _
 (Orientation:=pbTextOrientationHorizontal, _
 Left:=500, Top:=500, _
 Width:=500, Height:=300)

ActiveDocument.Pages(1).Shapes(1).TextFrame.NextLinkedTextFrame = ActiveDocument.Pages(1).Shapes(2).TextFrame

ActiveDocument.Pages(1).Shapes(1).TextFrame.TextRange.Select
If Selection.Type = pbSelectionText Then

MsgBox ActiveDocument.Pages(1).Shapes(1).TextFrame.TextRange.Text


End If


ActiveDocument.Pages(1).Shapes(2).TextFrame.TextRange.Select
If Selection.Type = pbSelectionText Then

MsgBox ActiveDocument.Pages(1).Shapes(2).TextFrame.TextRange.Text



ActiveDocument.Selection.TextRange.Cut
'ActiveDocument.Pages(1).Shapes(2).TextFrame.TextRange.Cut

ActiveDocument.Pages(1).Shapes(1).TextFrame.BreakForwardLink



ActiveDocument.Pages(1).Shapes(2).TextFrame.TextRange.Paste
ActiveDocument.Pages(1).Shapes(2).TextFrame.TextRange.Select
ActiveDocument.Pages(1).Shapes(2).Width = 50

ActiveDocument.Pages(1).Shapes(2).TextFrame.AutoFitText = pbTextAutoFitGrowToFit

End If
ActiveDocument.Pages(1).Shapes(2).TextFrame.AutoFitText = pbTextAutoFitGrowToFit
...