VBA中新行的Split()特别是Word中的宏

时间:2018-07-12 08:43:08

标签: vba ms-word word-vba

我正在尝试创建一个宏,该宏读取表单元的内容,然后在新行中拆分数据,然后将它们逐个发送到一个函数。

我的cell(1,1)中的数据如下:
Table Image

我的脚本如下所示

Sub test()
    Dim x As Variant
    Dim Lst() As String
    Dim tbl As Table
    Dim i As Integer

    Set tbl = ActiveDocument.Tables(1)
    x = tbl.Cell(1, 1).Range.Text
    'x = "Left" & vbCrLf & "Center" & vbCrLf & "Right"
    MsgBox x
    Lst = Split(x, vbCrLf) '<-- This works with x = "Left"&vbCrLf&.....
    For i = 0 To UBound(Lst)
        'Send it to Funciton
        MsgBox Lst(i)
    Next i
    MsgBox Lst(0)"<-- used this to check is split occured 
End Sub

由于某种原因,脚本未按新行拆分单元格的数据。我也尝试将数据直接传递给split函数来解决此问题,但是没有运气。 split(tbl.Cell(1,1).Range.Text, Chr(10))

我已经使用宏为excel写了一个类似的脚本,它可以在Excel中正常工作。 我是在错误的数据类型中初始化变量吗?

1 个答案:

答案 0 :(得分:0)

这可能是因为这些行之间的分隔符不是vbCrLf

改为使用vbLfvbCr