在Word 2010 VBA宏中特定数量的符号后添加“回车”

在Word 2010 VBA宏中特定数量的符号后添加“回车”,vba,ms-word,word-2010,Vba,Ms Word,Word 2010,因此,我有以下格式的数据: 数据1 |数据2 |数据3 |数据4 |数据5 |数据6 |。。。等等 我希望Word在每第5次出现|之后输入换行符,以便构造和分离数据 我找不到一个简单快捷的方法来做那件事。有什么想法吗?使用内置的拆分函数,并使用vbCrLf常量重新生成数据字符串以添加换行符 请注意,Split函数会删除分隔符,因此如果在输出中需要分隔符,则必须在For循环中添加字符串时将其添加回 类似以下的方法可能会起作用: Option Explicit Sub GroupDataStrin

因此,我有以下格式的数据:

数据1 |数据2 |数据3 |数据4 |数据5 |数据6 |。。。等等

我希望Word在每第5次出现|之后输入换行符,以便构造和分离数据

我找不到一个简单快捷的方法来做那件事。有什么想法吗?

使用内置的拆分函数,并使用vbCrLf常量重新生成数据字符串以添加换行符

请注意,Split函数会删除分隔符,因此如果在输出中需要分隔符,则必须在For循环中添加字符串时将其添加回

类似以下的方法可能会起作用:

Option Explicit

Sub GroupDataStringByFive()
    Dim sIn As String
    Dim sOut As String
    Dim sArr() As String
    Dim iForCounter As Integer

    sIn = "data1|data2|data3|data4|data5|data6"

    sArr = Split(sIn, "|")

    If IsArray(sArr) Then
       For iForCounter = 0 To UBound(sArr)
           If iForCounter > 0 And iForCounter Mod 5 = 0 Then
               sOut = sOut & vbCrLf & sArr(iForCounter)
           Else
               sOut = sOut & sArr(iForCounter)
           End If
       Next iForCounter
    End If

    MsgBox sOut
End Sub

工作得很好。必须调整它,从MSgBox切换到更有用的东西,但除此之外-100%完美。我非常感谢你的帮助:不客气!我一直认为MsgBox命令很有用;