Excel 运行时错误440添加变量函数时无法分析;单元(i,3)“;至;“过滤器”;

Excel 运行时错误440添加变量函数时无法分析;单元(i,3)“;至;“过滤器”;,excel,vba,outlook,Excel,Vba,Outlook,宏可以很好地保存文件中的附件,但当我尝试在filter restrict中传递与outlook中的主题匹配的变量“cells(i,3)”时,它会说无法解析 Dim OlApp As Object Dim OlMail As Object Dim OlItems As Object Dim OlFolder As Object Dim J As Integer Dim strFolder As String Set OlApp = GetObject(, "Outlook.Applic

宏可以很好地保存文件中的附件,但当我尝试在filter restrict中传递与outlook中的主题匹配的变量“cells(i,3)”时,它会说无法解析

Dim OlApp As Object
Dim OlMail As Object
Dim OlItems As Object
Dim OlFolder As Object
Dim J As Integer
Dim strFolder As String

Set OlApp = GetObject(, "Outlook.Application")
Set OlApp = CreateObject("Outlook.Application")

strFolder = "xxxx\Emails" 'Change Extract to the folder name where you would like to have your attachements
Set OlFolder = OlApp.GetNamespace("MAPI").Folders("xxx").Folders("Inbox").Folders("xxxx") 'Change folder names
Dim Lastrow As Long
Lastrow = Worksheets("Email Details").Cells(Rows.Count, "C").End(xlUp).Row

For i = 2 To Lastrow

Dim Filter As Variant
Filter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:subject" & Chr(34) & " like '%abc %' " & Cells(i, 3)
Set OlItems = OlFolder.Items.Restrict(Filter)

For Each OlMail In OlItems

    If OlMail.attachments.Count > 0 Then
        For J = 1 To OlMail.attachments.Count
            OlMail.attachments.Item(J).SaveAsFile strFolder & "\" & OlMail.attachments.Item(J).Filename
        Next J
    End If
Next
Next i

Set OlFolder = Nothing
Set OlItems = Nothing

Set OlMail = Nothing
Set OlApp = Nothing

'MsgBox "Done"
Private Sub filterWithVariable()
将筛选器设置为字符串
Dim srchStr As字符串
Filter=“@SQL=“&Chr(34)&”urn:schemas:httpmail:subject“&Chr(34)&”类似于“%abc%”
调试。打印“具有指定文本的筛选器:”&筛选器
'srchStr=“abc”&单元格(i,3)
srchStr=“abc”和“单元格中的值(i,3)”
Filter=“@SQL=“&Chr(34)&”urn:schemas:httpmail:subject“&Chr(34)&”like“%”&srchStr&“%”
调试。打印“带变量的筛选器…”:&筛选器
端接头

调试。?Filter
.Filter=“@SQL=“&Chr(34)&”urn:schemas:httpmail:subject“&Chr(34)&”like“%abc%”和Cells(i,3)此函数不允许在没有单元格(i,3)的情况下传递变量函数它工作得很好此筛选函数检查outlook邮箱的主题行以获取attachmenterror is runtime error 440 cannot Parses如果您愿意的话可以。请参阅文章的左侧。