拆分字符串并存储到Outlook宏中的列表/数组中

时间:2017-10-04 06:33:50

标签: vba outlook-vba

我正在编写一个宏来阅读电子邮件并解析Body。为此,我需要按换行符分割。

我写了 -

Dim stringList As Variant
Set stringList = Split(myMessage.Body, vbLf)
Debug.Print stringList(0)

但它表示类型不匹配。我该如何解决?

1 个答案:

答案 0 :(得分:0)

  • 请勿使用SetSplit()函数返回的数组分配给stringList变量。 Set关键字用于assign an object reference

  • 最好将stringList声明为String数组而不是Variant,因为您已经知道要分配的值的类型。

  • 还有一件事,您可能希望使用vbNewLine而不是vbLf拆分字符串。

这应该有效:

Sub SplitMsgBody()
    Dim stringList() As String
    stringList = Split(myMessage.Body, vbNewLine) 'or vbLf depending on your requirements.

    For Each s In stringList
        Debug.Print s
    Next
End Sub

希望有所帮助。