logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

VBA Excel - Dołączenie do makra formularza stopki z outlooka

kwitu86 20 Sty 2016 09:55 9927 7
REKLAMA
  • #1 15352027
    kwitu86
    Poziom 10  
    Posty: 72
    cześć,

    czy do makra, które wywołuje wysłanie e-maila do klienta z excela istnieje możliwość podpięcia informacji ze stopki z outlooka ? ( zamiast tej, która bierze dane z zakładki Dane kontaktowe )

    Kod: VBScript
    Zaloguj się, aby zobaczyć kod
    Załączniki:
    • Zeszyt1.zip (20.27 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 15352077
    kinggustav
    Poziom 27  
    Posty: 797
    Pomógł: 93
    Ocena: 93
    W obiekcie obsługującym mail jest drugie pole .HTMLBody na treść maila w HTML.
    Po utworzeniu maila tam jest podpis (jeżeli outlook ma go dodawać). Fachowcy radzą robić .HTMLBody = twoja_tresc & .HTMLBody. Praktycznie są z tym kłopoty, nie chce działać.
    A przy okazji może ktoś podpowie jakiś fajny sposób na dostarczenie do maila sporej mocno sformatowanej treści? Próbowałem jako plik HTML. Działa, ale jakieś to takie ... brzydkie.
  • REKLAMA
  • #3 15354127
    kwitu86
    Poziom 10  
    Posty: 72
    No jakoś to nie chce mi zadziałać gdy zmieniam w języku.

    z opcją .HTMLBody = Message & .HTMLBody

    Jakieś pomysły na rozwiązanie ?
  • #4 15354627
    clubs
    Poziom 38  
    Posty: 2219
    Pomógł: 629
    Ocena: 406
    Witam

    Jeżeli stopkę masz zapisana w Outlooku to zrób tak

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod
  • #5 15356180
    kinggustav
    Poziom 27  
    Posty: 797
    Pomógł: 93
    Ocena: 93
    Ale ... nigdzie tego Message nie użyłeś?
  • REKLAMA
  • #6 15358486
    clubs
    Poziom 38  
    Posty: 2219
    Pomógł: 629
    Ocena: 406
    kinggustav napisał:
    Ale ... nigdzie tego Message nie użyłeś?


    Kwitu86 napisał że chce użyć tylko z Outlooka zamiast tej z zakładki dane kontaktowe
  • REKLAMA
  • #7 15364890
    Michal_Dabrowski
    Poziom 2  
    Posty: 4
    Ocena: 3
    Witam,

    Wszystko się da jak się chce ;)

    Robisz to tak:

    1. Tak jak pisali powyżej w procedurze która wysyła maila musisz mieć treść wpisywaną jako HTMLBody (zamiast Body)

    2. Trzeba dopchać się do katalogu w którym masz swoje podpisy Outlooka a następnie "zassać" konkretnego podpisu kod HTML

    3. Zassany kod trzeba dorzucić do treści maila w procedurze wysyłającej

    No dobra to teraz konkrety:
    Ad1.
    Tu myślę sprawa jest prosta :) zmieniami .Body na .HTMLBody :P

    Ad2.

    to polecam zrobić Environem (bo podpisy są w katalogu zależnym od nazwy usera w systemie) czyli

    
    c:\users\ tutaj_twoja_nazwa_usera \AppData\Roaming\Microsoft\Podpisy\i_tutaj_nazwa_twojego_podpisu.htm
    


    !!!UWAGA!!! sprawdz tą ścieżkę u siebie bo nie pamiętam teraz dlaczego ale czasem zamiast katalogu Podpisy, niektórzy mają katalog Signatures więc wtedy będzie oczywiście:

    
    c:\users\ tutaj_twoja_nazwa_usera \AppData\Roaming\Microsoft\Signatures\i_tutaj_nazwa_twojego_podpisu.htm
    


    No dobra każdy ma inną nazwę usera więc jak robię coś takiego z ludzmi na szkoleniach to stosujemy tutaj Environa. Czyli finalnie wyglądało by to tak:

    
    sciezka = Environ("USERPROFILE") & "\AppData\Roaming\Microsoft\Podpisy\" & podpisek & ".htm"


    Ok ścieżka do podpisu już jest, to teraz zasysamy HTMLA z niego.

    Kilka opcji tu mamy ale chyba najprostszą będzie funkcja readall wbudowana w obiekt TextStreem z biblioteki scrrun.dll (spoko ona jest windowsowa więc każdy ją ma Ty też ;) tą biblio możemy dodać poprzez wczesne lub pózne wiązanie (ale to już temat na innego posta ;)

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod


    Pojawić się mogą jeszcze problemy z obrazkami jeżeli masz je w stopce (zwłaszcza jak tych stopek mamy kilka i makro ma decydować którą kiedy trzeba dodać do maila). Jak tak będzie to pisz, chętnie pomogę :)


    Pozdrawiam
    Michał Dąbrowski
  • #8 15370382
    kwitu86
    Poziom 10  
    Posty: 72
    cześć,

    faktycznie wszystko da sie zrobić tak jak opisujesz.

    Ja zrobiłem to trochę na czuja:

    Kod: VBScript
    Zaloguj się, aby zobaczyć kod


    gdzie zmieniłem ustawienia ramki ze środka na lewą stronę e-maila

    Kod: VBScript
    Zaloguj się, aby zobaczyć kod


    ale nie omieszkam sprawdzić rozwiązania przedstawionego powyżej :)

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik pyta o możliwość dodania stopki z Outlooka do makra w Excelu, które wysyła e-maile do klientów. Odpowiedzi sugerują, że można to osiągnąć, modyfikując właściwość .HTMLBody w obiekcie e-maila, aby dołączyć treść wiadomości oraz stopkę. Wskazówki obejmują lokalizację plików podpisów w systemie oraz użycie funkcji do pobrania kodu HTML podpisu. Użytkownicy dzielą się przykładami kodu VBA, który umożliwia integrację stopki z treścią wiadomości e-mail.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA