2015-05-15 3 views
1

После запуска кода я получаю Ошибка выполнения 9 (индекс за пределами допустимого диапазона).Копирование тела электронной почты Outlook на .csv

Я получаю ошибку на этой линии:

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 

enter image description here

+1

Что линия делает ошибки взялось? – Sam

ответ

2

Переключите Chr(58)) в Chr(9))' horizontal tab

Посмотрите на VBA [Chr]

1

Для Split результата, я обычно это сделать:

Dim varItem() As String 

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

Что может помочь в Trim() является текстовой функцией.

После этого лучше всего предположить, что нет Chr(58) = ":" в varText(i), и поэтому varItem(1) будет вне пределов досягаемости. Попробуйте с varItem(0) просто посмотреть, работает ли он, или используйте MsgBox InStr(1,varText(i), Chr(58)).

+1

Я думаю, что вы, возможно, прямо на 'Chr (58) =": "' код работает, когда 'varText' является' Name: Name', сообщит вам, как только я закончу, спасибо @ R3uK + 1 – 0m3r

+0

Yup, не уверен, что вы можете использовать в качестве разделителя здесь, попытайтесь скомпилировать Asc() ваших персонажей персонажей между «заголовком» и информацией, чтобы вы знали, какой из них вы можете использовать – R3uK

+0

, это не сработало :-( – 0m3r

Смежные вопросы