将 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]
在 运行 代码之后,我得到 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]