VBATools

Zastosowanie szablonów OFT w odpowiedzi na maila

by on Mar.30, 2011, under Outlook, Porady

Czasem użytkownicy mają potrzebę upiększenia wiadomości stosując papeterię. W późniejszych wersjach Outlooka zostały jednak one usunięte i wprowadzono “motywy” oraz “szybkie części”. Nie zastępuje to jednak poprzedniego rozwiązania w pełni, choć mając świadomość braku możliwości wyłączenia MS Worda jako głównego edytora tekstu (w 2007/2010), a zarazem stosowania jego zaawansowanych możliwości edycyjnych, pozostawiono furtkę w postaci zapisu szablonów. Niestety samo podpięcie szablonu nie zostało wprost oprogramowane w żadnym interfejsie użytkownika. Czynności takie należy przeprowadzić samemu.

Przygotowanie szablonu realizuje się po przez zapis edytowanej wiadomości: Menu/Zapisz jako/Szablon Outlook (*.oft)

Wywołanie szablonu do późniejszej edycji:

Sub zastosuj_szablon()
'MVP OShon from VBATools.pl
Dim MyItem As MailItem

On Error Resume Next
Select Case TypeName(Application.ActiveWindow)
Case "Explorer"
 Set MyItem = ActiveExplorer.Selection.Item(1)
 MyItem.Display
Case "Inspector"
 Set MyItem = ActiveInspector.CurrentItem
Case Else
End Select
On Error GoTo 0

If MyItem Is Nothing Then
MsgBox "Wpierw wskarz lub otwórz wiadomość " & _
 "do której ma być zastosowany szablon!", _
 vbExclamation, "VBATools.pl"
GoTo koniec
End If

Call Odpowiedz_z_szablonem(MyItem)
MyItem.Close olDiscard
koniec:
Set MyItem = Nothing
End Sub

Sub Odpowiedz_z_szablonem(Item As Outlook.MailItem)
'MVP OShon from VBATools.pl
Dim Odpowiedz As MailItem, Szablon As MailItem
Set Odpowiedz = Item.Reply
Set Szablon = Application.CreateItemFromTemplate("C:\Temp\szablon.oft") 'zmodyfikuj tą linię
With Szablon.Recipients
 .Add Odpowiedz.Recipients.Item(1).Address
 .ResolveAll
 .Parent.Subject = "RE: " & Item.Subject 'jeśli chcemy przekazać oryginalny temat 
 .Parent.Display
End With
Set Odpowiedz = Nothing
Set Szablon = Nothing
End Sub

Powyższą procedurę można podłączyć do przycisku w menu lub wywoływać za pomocą skrótu klawiszowego [Atl+F8]

Zastosowanie reguły dla automatycznej odpowiedzi realizuje poniższe makro:

Sub Odpowiedz_z_szablonem(Item As Outlook.MailItem)
'MVP OShon from VBATools.pl
Dim Odpowiedz As MailItem, Szablon As MailItem
Set Odpowiedz = Item.Reply
Set Szablon = Application.CreateItemFromTemplate("C:\Temp\szablon.oft") 'zmodyfikuj tą linię
With Szablon.Recipients
 .Add Odpowiedz.Recipients.Item(1).Address
 .ResolveAll
End With
Szablon.Send
Set Odpowiedz = Nothing
Set Szablon = Nothing
End Sub

Samo utworzenie nowej wiadomości opisane jest w tej poradzie.

Osadzenie procedury można znaleźć w artykule: Instalacja i uruchamianie makr

Więcej na temat zastosowań reguł znajdziecie w tym artykule.

(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

Recently Active Members

Profile picture of vbatools
Profile picture of Karol Stilger
Profile picture of Joanna Subik
Profile picture of Anorak
Profile picture of marcinmachalowski
Profile picture of programistaaccess
Profile picture of piotrpawlik
Profile picture of Emil Wasilewski
Profile picture of kicekpicek
Profile picture of coldfusion
Profile picture of Gosia Borzęcka
Profile picture of lukaszch
Profile picture of itadministracja
Profile picture of farbenia
Profile picture of Łukasz Kałużny
Profile picture of kabzinski
Profile picture of rtynski
Profile picture of leszekbetlinski
Profile picture of Iv
Profile picture of Justyna Spychała