VBATools

Zamiana lub usunięcie załączników w wiadomości wysłanej

by 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.
:, , , , , , , ,

Leave a Reply