我有一个Outlook VBA脚本,但是如果要传递任何参数,它不会运行。
这不起作用:
Public Sub SaveOutlookAttachmentsToDisk(MItem As Outlook.MailItem)
Dim oOutlookAttachment As Outlook.Attachment
Dim sSaveAttachmentsFolder As String
sSaveAttachmentsFolder = "\Document\FTP\"
For Each oOutlookAttachment In MItem.Attachments
oOutlookAttachment.SaveAsFile sSaveAttachmentsFolder & oOutlookAttachment.DisplayName
Next
End Sub
这有效:
Public Sub SaveOutlookAttachmentsToDisk()
End Sub
答案 0 :(得分:0)
仅当代码可以独立运行时,运行命令才有用。在对话框中显示其他代码毫无意义。
要使用需要参数的代码(在本例中为mailitem对象),则首先需要一个mailitem。
您可以像这样从按钮运行间接使用参数的代码。
Option Explicit
Sub runCodeThatRequiresParameter1()
Dim currItem As mailItem
' First open an appropriate mailitem
Set currItem = ActiveInspector.currentItem
' Pass item to SaveOutlookAttachmentsToDisk
SaveOutlookAttachmentsToDisk currItem
End Sub
Sub runCodeThatRequiresParameter2()
Dim currItem As mailItem
' First select an appropriate mailitem
Set currItem = ActiveExplorer.Selection(1)
' Pass item to SaveOutlookAttachmentsToDisk
SaveOutlookAttachmentsToDisk currItem
End Sub
答案 1 :(得分:0)
我注意到第一个方法提供了Item参数,如果是这样,则需要创建一个新规则,选择执行脚本的动作,选择此方法的脚本,就可以自动接收消息将附件保存到磁盘。此外,请检查是否是因为您没有在这些计算机上创建Outlook规则而导致它们无法正常工作。