VBA Tools

Zastosowanie szablonów OFT w odpowiedzi na maila

napisane przez Oskar w dniu środa, 30 Marzec, 2011, w kategorii Porady - Outlook

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.

Podziel się ze znajomymi:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Blip
  • Grono
  • Gwar
  • Kciuk.pl
  • LinkedIn
  • MySpace
  • OSnews.pl
  • Śledzik
  • Spis.pl
  • Technorati
  • Twitter
  • Vala.pl
  • Wahacz.pl
  • Wykop

Wpisz swój komentarz:

Comment Spam Protection by WP-SpamFree