mAttachmentSaver: фильтр типа файла + отображение случайного сообщения - PullRequest
1 голос
/ 21 мая 2019

Мне было интересно, может ли кто-нибудь помочь мне с внесением некоторых изменений в код mAttachmentSaver (код Microsoft VBA, который сохраняет только вложения из выбранных писем).Я хотел бы, чтобы вложение сохранялось ТОЛЬКО для сохранения файлов .pdf, .doc и excel.Это делается для того, чтобы исключить различные вложения электронной почты, такие как изображения внутри самой почты.Я думал что-то вроде этого кода, который я нашел в интернете: FileFilter:="Excel,.xls;.pdf,". Хотя я не уверен, куда это вставить.Кроме того, я хотел бы эту строку:

   If lNum > 0 Then
        MsgBox CStr(lNum) & " attachment(s) was(were) saved successfully.", vbInformation, "Message from Attachment Saver"
    Else

Чтобы иметь возможность отображать случайное предложение, но я не уверен, как это сделать.Например:

   If lNum > 0 Then
        MsgBox CStr(lNum) & " attachment(s) was(were) saved successfully. Good job! :)", vbInformation, "Message from Attachment Saver"
MsgBox CStr(lNum) & " attachment(s) was(were) saved successfully. Nice work!", vbInformation, "Message from Attachment Saver"
MsgBox CStr(lNum) & " attachment(s) was(were) saved successfully. You got it!", vbInformation, "Message from Attachment Saver"
MsgBox CStr(lNum) & " attachment(s) was(were) saved successfully. Job done! Time for weekend!", vbInformation, "Message from Attachment Saver"
    Else

Заранее спасибо!ссылка на код: https://gallery.technet.microsoft.com/office/Save-attachments-from-5b6bf54b

Ответы [ 2 ]

1 голос
/ 21 мая 2019

Ответ Мохита охватил фильтрующую часть.Вот часть случайного сообщения.

Сейчас это 4 сообщения, как в примере, но если вы хотите расширить его, вам нужно изменить Int((4 * Rnd) + 1).Измените 4 на что-то более высокое, например 5, и тогда вы можете получить 5 случайных сообщений.Также добавьте оператор Case с новым сообщением.

If lNum > 0 Then
    Dim Message As String
    Message = CStr(lNum) & " attachment(s) was(were) saved successfully."


    Select Case Int((4 * Rnd) + 1)
        Case 1
            Message = Message & " Good job! :)"
        Case 2
            Message = Message & " Nice work!"
        Case 3
            Message = Message & " You got it!"
        Case 4
            Message = Message & " Job done! Time for weekend!"
    End Select
    MsgBox Message, vbInformation, "Message from Attachment Saver"
0 голосов
/ 21 мая 2019

Я посмотрел на код, и вы можете добавить условие If, чтобы отфильтровать желаемые форматы среди доступных вложений для сохранения.

If strAtmtName(1) = "xlsx" Or strAtmtName(1) = "pdf" Or strAtmtName(1) = "doc" Then

Else: GoTo G:

End If

enter image description here

Теперь вам нужно определить тег Goto G также до следующего цикла для цикла As в изображении.

enter image description here

Итак, перед тем, как сохранить вложение, мы пропускаем цикл, если расширение файла не соответствует требуемому.

Надеюсь, это поможет!

Edit:

Изменить условие Else, чтобы уменьшить количество на 1, как на рисунке.

enter image description here

...