Microsoft Excel VBA运行时错误5

Microsoft Excel VBA运行时错误5

问题描述:

我在Excel VBA上如此新颖。我正在开发Outlook自动化功能,以便从Outlook电子邮件正文获取数据,生成报告并发送给团队。我刚开始尝试一些从Outlook电子邮件正文获取数据并导出到Excel的食谱。我试图在电子邮件正文中提取特定的数据导出到Excel工作表,好像我一直得到运行时间错误5运行:Microsoft Excel VBA运行时错误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 = "[email protected]" 

    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 

感谢

Niisa

的子匹配集合零索引,以便简单地更改为:

vText = Trim(M.SubMatches(0)) 

目前你只能拿到第一场比赛,如果你想让他们你需要Reg.Global = True