Команда запуска не показывает, требует ли скрипт VBA каких-либо аргументов - PullRequest
0 голосов
/ 10 октября 2018

У меня есть сценарий 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

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Я заметил, что первый mothed имеет параметр Item в качестве вашего обеспечения, если это так, вам нужно создать новое правило, выбрать действие для выполнения сценария, выбрать сценарий для этого метода, вы можете получить сообщение автоматическисохранить вложения на диск.Кроме того, проверьте, не является ли это причиной того, что вы не создаете правила для Outlook на этих компьютерах, так как они не работают.

0 голосов
/ 10 октября 2018

Команда run может быть полезна только тогда, когда код может выполняться автономно.Нет смысла заставлять другой код отображаться в диалоговом окне.

Чтобы использовать код, для которого требуется параметр, в данном случае объект 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...