2015-12-25 143 views
1

我寫了這個宏來生成多行文本框:在文本編輯特定的行

Sub multipleLineTextBox() 

    Dim Box As Shape 
    Set Box = ActiveDocument.Shapes.AddTextbox(_ 
     Orientation:=msoTextOrientationHorizontal, _ 
     Left:=50, Top:=50, Width:=200, Height:=200) 

     Box.Line.Style = msoLineThinThin 
     Box.Line.Weight = 6 
     Box.TextFrame.TextRange.Text = "first line" & vbCrLf & "second line" 
     Box.TextFrame.TextRange.Font.Size = 20 

End Sub 

最後一行編輯在文本框中的所有文本是大小20

如何我可以單獨編輯每一行嗎?

回答

0

使用此:

Sub multipleLineTextBox() 
    Dim Box As Shape 
    Set Box = ActiveDocument.Shapes.AddTextbox(_ 
     Orientation:=msoTextOrientationHorizontal, _ 
     Left:=50, Top:=50, Width:=200, Height:=200) 
     With Box 
      .Line.Style = msoLineThinThin 
      .Line.Weight = 6 
      .TextFrame.TextRange.Text = "first line" & vbCrLf & "second line" 
      .TextFrame.TextRange.Paragraphs(2).Range.Font.Size = 20 
     End with 
End Sub 
+0

這是低質量的帖子隊列。爲了避免刪除,你可能想解釋你的答案。 –

+0

@RohitGupta對於這種特殊情況,擴展是不需要的。 – Vasily

1

TextRange有一個Paragraphs集合。您可以循環或單獨處理每個項目。例如

Dim bxRange As Word.Range 
Set bxRange = Bix.TextFrame.TextRange 
bxRange.Paragraphs(1).Range.Font.Size = 12 
bxRange.Paragraphs(2).Range.Font.Size = 10 
相關問題