将 Outlook 电子邮件正文复制到 .csv

Copying Outlook email body to .csv

在 运行 代码之后,我得到 run-time 错误 9(下标超出范围)

我在这一行收到错误:

xlSheet.Range("K" & rCount) = Trim(varItem(1))

我查看了代码,似乎无法弄清楚我做错了什么或遗漏了什么。

这是代码,看看下面我的电子邮件正文是什么样的

            '// Customer
            If InStr(1, varText(i), "Customer") > 0 Then
                varItem = Split(varText(i), Chr(58))
                xlSheet.Range("A" & rCount) = Trim(varItem(1))
            End If


            '// Service Level
            If InStr(1, varText(i), "Service Level") > 0 Then
                varItem = Split(varText(i), Chr(58))
                xlSheet.Range("K" & rCount) = Trim(varItem(1))
            End If

对于 Split 结果,我通常这样做:

Dim varItem() As String

varItem = Split(varText(i), Chr(58))

这可能会有所帮助,因为 Trim() 是一个文本函数。

在那之后,最好的猜测是 varText(i) 中没有 Chr(58) = ":",因此 varItem(1) 将超出范围。尝试使用 varItem(0) 看看它是否有效,或者使用 MsgBox InStr(1,varText(i), Chr(58)).

Chr(58))切换为Chr(9))' horizontal tab

varItem = Split(varText(i), Chr(9))

看看VBA[Chr]