Я работаю над кодом VBA, чтобы захватить текст из электронной почты Outlook и поместить его на лист Excel, который я настроил. Я использую Excel 2010. Мое электронное письмо содержит следующую информацию:
Компания: ABC Company
Период занятий: с 29 октября 2013 г. по 22 октября 2014 г.
Я настроил цикл For With для просмотра электронной почты и вставил название компании в столбец A, первую дату (2013-10-29) в столбец B и другую дату (2014-10-22) в столбец C. Когда я запускаю свой код, я получаю сообщение об ошибке: Ошибка времени выполнения 5: недопустимый вызов процедуры или аргумент в строке кода ниже: vText2 = Trim(M.SubMatches(2))
Не могли бы вы сообщить мне, что я делаю неправильно. Часть моего кода ниже. Дайте мне знать, если мне нужно предоставить какую-либо дополнительную информацию.
sText = olItem.Body
Set Reg1 = CreateObject("VBScript.RegExp")
For i = 1 To 3
With Reg1
Select Case i
Case 1
.Pattern(Company\s[:]+\s(\w*\s*\w*\s*\w*\s*\w*\s*\w*\s*\w*\s*\w*\s*\w*\s*\w*\s*)\n)"
.Global = False
Case 2
.Pattern = "(Class Period\s*[:]+\s*([\d-\s]*))"
.Global = False
Case 3
.Pattern = "(through+\s*([\d-\s]*))"
.Global = False
End Select
End With
If Reg1.Test(sText) Then
Set M1 = Reg1.Execute(sText)
For Each M In M1
vText = Trim(M.SubMatches(1))
vText2 = Trim(M.SubMatches(2))
vText3 = Trim(M.SubMatches(3))
Next
End If
Next i
xlSheet.Range("A" & rCount) = vText
xlSheet.Range("B" & rCount) = vText2
xlSheet.Range("C" & rCount) = vText3
xlWB.Close 1