|
- Sub Txt2Table()
- Dim Arr, Brr, X, Y, I, J
- Arr = ThisDocument.Range.Text
- Arr = Replace(Arr, ":", vbTab)
- Arr = Replace(Arr, ",", vbTab)
- X = Split(Arr, ",")
- For I = 0 To UBound(X) - 1
- If X(I) <> "" Then
- Y = Split(X(I), vbTab)
- ReDim Brr(1 To UBound(X) + 1, 1 To (UBound(Y) / 2 + 1)) '重新定义一个二维数组
- For J = 0 To UBound(Y) - 1 Step 2
- Brr(1, (J + 2) / 2) = Y(J) '写入表头
- Next
- Exit For
- End If
- Next
- For I = 0 To UBound(X) - 1
- If X(I) <> "" Then
- Y = Split(X(I), vbTab)
- For J = 1 To UBound(Y) Step 2
- Brr(I + 2, (J + 1) / 2) = Y(J) '写入数据
- Next
- End If
- Next
- Selection.EndKey Unit:=wdStory '切换到文档末尾
- Selection.TypeParagraph '插入一行
- '插入表格,行数、列数 根据数组 Brr 决定
- With ActiveDocument.Tables.Add(Range:=Selection.Range, NumRows:=UBound(Brr), NumColumns:=UBound(Brr, 2))
- .Style = "网格型"
- For I = 1 To UBound(Brr)
- For J = 1 To UBound(Brr, 2)
- .Rows(I).Cells(J).Range.Text = Brr(I, J) '数据写入表格
- Next
- Next
- .Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
- End With
- End Sub
复制代码 |
|