Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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
Outlook VBA脚本-多个文件_Vba_Outlook - Fatal编程技术网

Outlook VBA脚本-多个文件

Outlook VBA脚本-多个文件,vba,outlook,Vba,Outlook,大家下午好。我不是很精通VBA,我有一个问题想了解一下 我目前收到两封相同的电子邮件,其中包含不同的文件格式。下面的脚本非常清楚要发送的文件格式和目的地。然而,由于电子邮件是在同一时间进来的,它将csv文件与xlsm进行比较,并将其发送到另一个文件夹与我在脚本中列出的文件夹进行比较。这里面有什么我遗漏的吗?当我手动运行脚本时,它可以工作。当我让系统自然运行时,我得到了相反的结果。任何见解都会有所帮助 Public Sub-NextEra(itm作为Outlook.MailItem) Dim ob

大家下午好。我不是很精通VBA,我有一个问题想了解一下

我目前收到两封相同的电子邮件,其中包含不同的文件格式。下面的脚本非常清楚要发送的文件格式和目的地。然而,由于电子邮件是在同一时间进来的,它将csv文件与xlsm进行比较,并将其发送到另一个文件夹与我在脚本中列出的文件夹进行比较。这里面有什么我遗漏的吗?当我手动运行脚本时,它可以工作。当我让系统自然运行时,我得到了相反的结果。任何见解都会有所帮助

Public Sub-NextEra(itm作为Outlook.MailItem)
Dim objAtt作为Outlook。附件
将文件夹设置为字符串
saveFolder=“C:\Users\arthur\Dropbox\Apps\AutomatedPriceFileImports”
对于itm.附件中的每个objAtt
如果(InStr(objAtt.DisplayName,“NES每日矩阵”))和Right(objAtt.FileName,4)=“xlsm”,则
objAtt.SaveAsFile saveFolder&“\”&objAtt.DisplayName
如果结束
设置objAtt=Nothing
下一个
端接头

您是否设置了适当的Outlook规则来运行下一个脚本?请注意,它仅在Outlook正在运行且已连接到电子邮件服务器时才起作用。嗨,Patrick,感谢您的参与。我有,问题是这家公司给我们发送了两封单独的电子邮件,其中包含不同格式的数据。outlook规则声明移动这两个文件,因为它们与源文件完全相同,但vba会否定预期的文件格式(xlsm),并选择您所看到的根本没有提及的csv。附件显示名称是否可能与文件名不同?请尝试
If(InStr(objAtt.DisplayName,“NES Daily Matrix”)>0)和LCase(Mid(objAtt.FileName,InStrRev(objAtt.FileName,“.”+1))=“xlsm”然后
。使用DisplayName保存文件也会丢失文件扩展名,是这样吗?