Tworzenie email z informacją o brakujących załącznikach w treści wiadomości
by vbatools on Jan.18, 2012, under Outlook, Porady
Poniżej znajduje się rozwiązanie, dzięki któremu można utworzyć wiadomość podając jako parametr nazwy plików.
Pliki te będą załączone do wiadomości. W przypadku kiedy załącznik nie będzie mógł być dodany to informacja o tym będzie załączona w treści wiadomości.
To rozwiązanie jest bardzo wygodne, kiedy jesteśmy zobligowani do tworzenia raportów, których treść jest zawarta w załącznikach, wcześniej osadzona w zdefiniowanych katalogach
Sub przygotuj()
Dim zalacznik$
zalacznik = "C:\Temp\XL_VBA_BeforeSave.png," & _
"C:\Temp\XL_VBA_Pogrubienie_tekstu_w_komorkach.txt," & _
"C:\Temp\Ala_ma_kota.txt," & _
"C:\Temp\test2.txt"
If Tworzenie_maila(zalacznik) = False Then _
MsgBox "Brak możliwości wygenerowania wiadomości", vbExclamation, "VBATools.pl"
End Sub
Function Tworzenie_maila(Optional zalaczniki As String) As Boolean
On Error GoTo Blad
Dim olMail As MailItem, x&, pliki$, att As Variant
Set olMail = Application.CreateItem(olMailItem)
If Len(zalaczniki) > 0 Then att = Split(zalaczniki, ",")
With olMail
.To = "adres@domena.pl"
.Subject = "Raporty"
If IsArray(att) Then
For x = LBound(att) To UBound(att)
If FileExists(att(x)) = True Then _
.Attachments.Add att(x) Else _
pliki = pliki & att(x) & "<br>"
Next x
End If
.HTMLBody = "<b>Braki w załącznikach: </b><br>" & pliki
.Display 0
Tworzenie_maila = True
End With
Set olMail = Nothing
Exit Function
Blad:
Tworzenie_maila = False
End Function
Public Function FileExists(ByVal FilePath As String) As Boolean
On Error GoTo Blad
FileExists = Len(Dir(FilePath, vbDirectory Or vbHidden Or vbSystem)) > 0
Exit Function
Blad:
FileExists = False
End Function
Parametry wejściowe mogą być dowolnie określone (np zmodyfikowana nazwa plików o dodanie aktualnego okresu lub przeszłego). Jeśli mamy potrzebę adresowania wiadomości lub tworzenia odrębnych nazw tematu możemy parametr dla tych opcji wyciągnąć, aby podawać je w procedurze.
(c) Shon Oskar – www.VBATools.pl
Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.