Zamiana lub usunięcie załączników w wiadomości wysłanej
by vbatools on Aug.24, 2011, under Outlook, Porady
Jeden z forumowiczów Outlook.pl chciał zamienić załączniki w wysłanej poczcie (aby ją następnie wydrukować).
Pachnie to troszkę kantem ale.. może to niekrzywdzący figiel.
Napisałem procedurę która po osadzeniu w środowisku developerskim i uruchomieniu przy jednoczesnym zaznaczeniu wiadomości jaka nas interesuje, zapyta czy chcemy usunąć załączniki (jakie) z wiadomości wysłanej. Następnie opcjonalnie zaproponuje nam inną pulę (do wyboru) załączników.
Po zaakceptowaniu wiadomość ta się otworzy z zapisanymi plikami.
Option Explicit Sub podmiana_zalacznika_w_wyslanej_wiadomosci() 'MVP OShon from VBATools.pl Dim oItem As MailItem Dim Att As Attachment Dim Pyt, FileName As Variant, i& Dim xApp As New excel.Application For Each oItem In Application.ActiveExplorer.Selection With oItem.Attachments For i = .Count To 1 Step -1 Pyt = MsgBox("Czy usunąć załącznik: " & .item(i).FileName, vbQuestion _ + vbYesNo + vbDefaultButton2, "Usunięcie załączników z " & _ oItem.Subject) If Pyt = vbYes Then .item(i).Delete Next i End With Pyt = MsgBox("Czy wstawić inny załącznik", vbQuestion _ + vbYesNo + vbDefaultButton2, "Wstawianie załączników") If Pyt = vbYes Then FileName = xApp.Application.GetOpenFilename _ (filefilter:="Wszystkie pliki (*.*),*.*", _ Title:="Wybierz pliki do zaimportowania", _ MultiSelect:=True) If Not IsArray(FileName) Then Exit Sub For i = LBound(FileName) To UBound(FileName) oItem.Attachments.Add FileName(i) Next i End If oItem.Save oItem.Display Next oItem End Sub
Po takim zabiegu otrzymujemy zmianę załączników, ale też i zostaje wprowadzona nowa data na poziomie pola obiektu mailitem: “Ostatnia modyfikacja”
Wykorzystałem w niej instrukcje przywołania ekranu wyboru plików, zapożyczoną z Excela. To też o ile instrukcja będzie sprawiała kłopot to należy dodać w referencjach modułu kontrolkę Excela.
(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.