Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 计算Excel附件的数量_Vba_Excel_Outlook - Fatal编程技术网

Vba 计算Excel附件的数量

Vba 计算Excel附件的数量,vba,excel,outlook,Vba,Excel,Outlook,我下载通过电子邮件发送的Excel文件,这些文件符合给定的标准 如果没有附件,我需要刮去电子邮件的正文,并将其粘贴到Excel文档中 如何检测是否只发送了非Excel附件-例如,如果有人附加了PDF 我计算了包含字符串“.xls”的附件数量,如果结果超过0,则处理下载。否则,请刮去电子邮件正文 我发现: 1) 如何计算附件数量 oOlItm.Attachments.Count <> 0 类似这样的方法会奏效: For Each oOlItm In oOlAtch.attachmen

我下载通过电子邮件发送的Excel文件,这些文件符合给定的标准

如果没有附件,我需要刮去电子邮件的正文,并将其粘贴到Excel文档中

如何检测是否只发送了非Excel附件-例如,如果有人附加了PDF

我计算了包含字符串“.xls”的附件数量,如果结果超过0,则处理下载。否则,请刮去电子邮件正文

我发现:

1) 如何计算附件数量

oOlItm.Attachments.Count <> 0

类似这样的方法会奏效:

For Each oOlItm In oOlAtch.attachments
    If InStr(1, oOlItm.filname, ".xls") > 1 Then cnt = cnt + 1
Next oOlItm 
if cnt > 0 then ...
语句“ExcelAttachmentNumber=0”需要在“For Each”循环之外。您的代码的计数永远不会超过1,如果最后一个附件不是.xls,您将得到0。
For Each oOlAtch In oOlItm.Attachments

            ExcelAttachmentNumber = 0

                 If (InStr(oOlAtch.FileName, ".xls") > 0) Then
                    ExcelAttachmentNumber = ExcelAttachmentNumber + 1
                    Else
                    End If
Next
For Each oOlItm In oOlAtch.attachments
    If InStr(1, oOlItm.filname, ".xls") > 1 Then cnt = cnt + 1
Next oOlItm 
if cnt > 0 then ...