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

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