2017-02-23 33 views

回答

1

类似下面应该让你在球场:

Sub WriteOutShapeText(shapeName As String) 

    'get the values from the shape called whatever is stored in shapeName 
    'and split the text into an array using chr(11) (line feed) 
    Dim textArray As Variant 
    textArray = Split(Sheet1.Shapes(shapeName).TextFrame2.TextRange.Characters.Text, Chr(11)) 


    'Set up the row to which we will start writing 
    Dim writeRow As Integer 
    writeRow = 1 

    'Loop through the array assigning each element in textArray to the variable textline 
    For Each textLine In textArray 

     'write out to sheet1 column 1 starting at writeRow 
     Sheet1.Cells(writeRow, 1).Value = textLine 

     'increment to the next row to which we will write 
     writeRow = writeRow + 1 
    Next 

End Sub 

您可以在VBA中使用它如:

Call WriteOutShapeText("Rectangle 1") 

只需将“矩形1”更改为您调用的任何形状,并将其写入的范围更改为所需的位置。

相关问题