VBATools

Dodanie dowolnego tekstu do wiadomości

by on Feb.03, 2015, under Outlook, Porady

Do wstawiania dowolnej treści w gotowej do wysłania wiadomości służy utworzony w nowych wersjach mechanizm “Szybkie części“. Czasami jednak potrzebujemy odnieść się do zmieniających się stale danych, jak np nazw plików, osób uczestniczących w spotkaniu czy aktualnej dacie. 

Na tym ostatnim przykładzie oprzemy możliwość odwołania się w zmiennej, którą zwrócimy w zaznaczone miejsce wiadomości. Dodatkowo treść ta będzie napisana czerwoną czcionką, aby pokazać jak odwołać się do parametru Font.

Sub Dodanie_tekstu_do_aktywnego_maila()
On Error GoTo brak_aktywnego
Dim objItem As MailItem: Set objItem = Application.ActiveInspector.CurrentItem
On Error GoTo 0
Dim objInsp As Outlook.Inspector: Set objInsp = objItem.GetInspector
Dim objDoc As Object: Set objDoc = objInsp.wordEditor 'Word.Document
Dim objWord As Object: Set objWord = objDoc.Application 'Word.Application
Dim objSel As Object: Set objSel = objWord.Selection 'Word.Selection

Dim tekst$: tekst = "Dane dotyczą dnia: " & Format(Now, "DD.MM.YYYY")
 objSel.Font.ColorIndex = 6 'wdRed
 objSel.TypeText tekst

Exit Sub
brak_aktywnego:
 If Err.Number = 91 Then _
 MsgBox "Utwórz wiadomość do edycji.", vbExclamation, "VBATools.pl" Else _
 MsgBox Err.Number & " " & Err.Description, vbExclamation, "VBATools.pl"
End Sub

 

Osadzamy kod w środowisku VBA (menu/insert/module) oraz przypisujemy makro do menu “Pasek narzędzi Szybki dostęp”. Taki krok pomoże nam w szybkim przywołaniu treści klawiszem skrótu [Alt+1..0]

Aby osadzić procedurę “Dodanie_tekstu_do_aktywnego_maila” pod przyciskiem w menu MS Outlook, polecam uwadze ten artykuł.

 

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

2 Comments for this entry

  • Omen

    Cześć,

    Chciałem przerobić Wasz kodzik, tak aby wyświetlał mi imię osoby do której odpisuję na maila.
    Znacznie ułatwiłoby mi to życie, gdyż pracuję w dużej korporacji, gdzie ludzie mają egzotyczne imiona i czasem może się zdarzyć, że źle wpiszę 🙂

    Niestety utknąłem na rozdzielaniu imienia i nazwiska.

    Proszę o pomoc, o to cały kodzik:

    Sub Dodanie_imienia()
    On Error GoTo brak_aktywnego
    Dim objItem As MailItem: Set objItem = Application.ActiveExplorer.Selection.Item(1)
    On Error GoTo 0
    Dim objInsp As Outlook.Inspector: Set objInsp = objItem.GetInspector
    Dim objDoc As Object: Set objDoc = objInsp.WordEditor ‘Word.Document
    Dim objWord As Object: Set objWord = objDoc.Application ‘Word.Application
    Dim objSel As Object: Set objSel = objWord.Selection ‘Word.Selection
    Dim objItem2 As Object: Set objItem2 = Application.ActiveExplorer.Selection.Item(1)
    Dim tekst$: tekst = “Hi ” & objItem2.SenderName

    objSel.TypeText tekst

    Exit Sub
    brak_aktywnego:
    If Err.Number = 91 Then _
    MsgBox “Utwórz wiadomość do edycji.”, vbExclamation, “VBATools.pl” Else _
    MsgBox Err.Number & ” ” & Err.Description, vbExclamation, “VBATools.pl”
    End Sub

    Pozdrawiam 🙂

  • vbatools

    Nie zawsze nadawca posiada Nazwisko i Imię przypisane do konta. Jeśli jednak tak się stanie, a chcemy pobrać np 1 wyraz z jedno nazwy konta to należy użyć sprawdzenia czy jest w nazwie spacja i użyć funkcji tablicowej split()(0) aby uzyskać pierwszy wyraz. Jeśli masz więcej pytań abo chcesz go doprecyzować to zapraszam do dyskusji na forum: http://www.outlook.pl/forum

Leave a Reply