我对 Excel VBA 很陌生。我正在开发 Outlook 自动化以从 Outlook 电子邮件正文中获取数据,生成报告并发送给团队。我刚开始尝试一些从 Outlook 电子邮件正文中获取数据并导出到 Excel 的方法。我尝试在电子邮件正文中提取特定数据以导出到 Excel 表,似乎我一直在运行 Run Time Error 5:
vText = Trim(M.SubMatches(1))
例如。
Sub GetData()
Dim folders As Outlook.folders
Dim folder As Outlook.MAPIFolder
Dim iRow As Integer
Dim Pst_Folder_Name As String
Dim MailboxName As String
Dim subFolderName As String
Dim xlSheet As Object
Dim Reg As Object
Dim sText As String
Dim vText As Variant
Dim M As Object
Dim M1 As Object
MailboxName = "nms@gmail.com"
Pst_Folder_Name = "My Folders"
subFolderName = "HTD Ticketing System"
Set folder = Outlook.Session.folders(MailboxName).folders(Pst_Folder_Name).folders(subFolderName)
If folder = "" Then
MsgBox "Invalid Data in Input"
GoTo end_lbl1:
End If
Sheets(1).Activate
For iRow = 1 To folder.Items.Count
Sheets(1).Cells(iRow, 1).Select
sText = folder.Items.Item(iRow).Body
Set Reg = CreateObject("VBScript.RegExp")
With Reg
.Pattern = "(http.)"
End With
If Reg.Test(sText) Then
Set M1 = Reg.Execute(sText)
For Each M In M1
vText = Trim(M.SubMatches(1))
Next
End If
Sheets(1).Cells(iRow, 2) = vText
Set M = Nothing
Set M1 = Nothing
Set Reg = Nothing
Next iRow
end_lbl1:
End Sub
谢谢
尼萨
最佳答案
SubMatches 集合索引为零,因此只需更改为:
vText = Trim(M.SubMatches(0))
目前你只会得到第一场比赛,如果你想要他们所有你需要
Reg.Global = True
.
关于vba - Microsoft Excel VBA 运行时错误 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41014327/