Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Makro "send mail" w Wordzie - Makro wysyłające e-mail z Worda.

Wieslaw3 26 Sty 2015 20:25 2052 20
  • #1 26 Sty 2015 20:25
    Wieslaw3
    Poziom 18  

    Witam!
    Widziałem ze skutecznie pomogliście już wielu osobom w stworzeniu praktycznych i przede wszystkim poprawnie działających makr.
    Ja o programowaniu nie mam zielonego pojęcia dlatego zwracam się o pomoc.
    Znalazłem dużo takich rozwiązań dla EXCELA, a ja potrzebuje dla Worda. Chodzi o makro które wyśle za pośrednictwem domyślnego klienta (w moim przypadku jest to Thunderbird) aktywny dokument jako załącznik.
    Gdyby były trudności ze zmuszeniem thunderbirda do automatycznego wysłania wiadomości, wystarczy mi, gdy program otworzy tylko okno thunderbirda, w którym redaguje się nową wiadomość, i będą już wypełnione pola: odbiorca, temat i załączony plik. Żeby wysłać wystarczy kliknąć "WYŚLIJ".
    Odbiorcą wiadomości będzie jedna i ta sama osobo, temat też będzie stały.
    Z góry dziękuję za pomoc.
    Wiesiek

    0 20
  • #3 28 Sty 2015 08:19
    Wieslaw3
    Poziom 18  

    Dzięki ale jak to wykorzystać w makro?

    0
  • #4 28 Sty 2015 10:10
    -psiak-
    Poziom 32  

    Nie musisz nawet tego word'a otwierać.
    No chyba że czegoś nie domówiłeś, skoro chcesz tego worda wysłać mailem ze standardowym odbiorcą i tematem - to klikasz na plik prawym klawiszem i wysyłasz, nie otwierając nawet.
    Jeżeli koniecznie chcesz przez makro to:

    Code:
    Process.Start("""C:\program files\thunderbird.exe"" -compose ""to='john@example.com',subject='dinner',body='How about dinner tonight?',attachment='C:\temp\info.doc'""")

    http://kb.mozillazine.org/Command_line_arguments_%28Thunderbird%29

    0
  • #5 28 Sty 2015 19:50
    Wieslaw3
    Poziom 18  

    Może faktycznie czegoś nie domówiłem. Chciałbym mieć przycisk w Wordzie który by mi wysłał aktywny dokument na z góry podany adres e-mail.

    0
  • #6 28 Sty 2015 22:34
    -psiak-
    Poziom 32  

    Nie wiem czy zdajesz sobie sprawę że dopóki masz otwarty jakiś dokument w Word'zie i zrobiłeś jakiekolwiek zmiany (np literówkę poprawiłeś) to na dysku w tym pliku może być kompletny bajzel, który nie da się otworzyć na innym komputerze.
    Podałem ci wiersz który możesz dodać do makra, będzie działać dla thunderbird dla innych programów pocztowych - będzie inaczej.

    0
  • #7 29 Sty 2015 10:33
    Wieslaw3
    Poziom 18  

    Makro może działać w ten sposób, że zanim wyśle może wpierw zapisać dokument. Jeszcze lepiej było by gdyby zapisał go jako PDF (gazetka.pdf) ale nie chcę komplikować, do PDF mogę go później przekonwertować.
    Podałeś mi wiersz ale jeszcze trzeba to "obudować" w odpowiednie makro a ja o pisaniu makr nie mam pojęcia dlatego zwróciłem o pomoc się na forum.

    0
  • #8 29 Sty 2015 17:11
    PRL
    Poziom 33  

    Do wysyłania mejli, mejli z załącznikiem nie musisz mieć zainstalowanych programów poczty.
    Wystarczy CDO, taka moja zaciągnięta hybryda z sieci:

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Załączniki, jeśli jest więcej niż jeden, to oddzielasz śrenikami.

    0
  • #9 03 Lut 2015 13:13
    Wieslaw3
    Poziom 18  

    Dzięki ale niestety nie potrafię użyć tego kodu. Zawartość nawiasów w pierwszej linii sprawia, że nie mogę zapisać makra. Proszę o jakie instrukcje odnośnie tego kodu, które fragmenty powinienem zastąpi rzeczywistymi wartościami.

    0
  • #10 03 Lut 2015 14:02
    PRL
    Poziom 33  

    To mnie wymęczyłeś.;)
    Jkoś z Wordem mam do czynienia, gdy czytam tekst, a nie piszę makra.
    Sprawdź proszę załącznik.

    Trochę namieszałem.
    Podmień makro ZapisziWyslij na to:

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #11 03 Lut 2015 21:37
    Wieslaw3
    Poziom 18  

    Dzięki wielkie za zaangażowanie.
    Skonfigurowałem wszystko ale nadal nie działa do końca.
    Pewnie dlatego że chcę wysyłać z GMAIL-a
    Na porcie który Ty wpisałeś tj. 587 wyświetla taki błąd:
    Makro "send mail" w Wordzie - Makro wysyłające e-mail z Worda.
    Natomiast na porcie 465 taki błąd:
    Makro "send mail" w Wordzie - Makro wysyłające e-mail z Worda.

    Później skonfigurowałem skrzynkę na WP i tutaj zadziałało :)

    0
  • Pomocny post
    #12 04 Lut 2015 03:44
    PRL
    Poziom 33  

    Jest jeden poważny błąd.
    Załącznik zostaje wysłany razem z makrem, w którym są Twoje dane do skrzynki pocztowej!

    Wszystkie procedury trzymaj w normal, a nie w pliku źródłowym.

    Makro "send mail" w Wordzie - Makro wysyłające e-mail z Worda.

    A tutaj poprawiona procedura z zapisem do pdf'.

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Teraz wystarczy dodać makro do paska i to chyba wszystko, co potrzebowałeś.

    Makro "send mail" w Wordzie - Makro wysyłające e-mail z Worda.

    0
  • #13 05 Lut 2015 00:07
    Wieslaw3
    Poziom 18  

    Łał, nawet z konwersją do PDF. Jutro przetestuję.

    EDIT
    Działa! :) Kurka, żebym wiedział że dostanę taki kod który od razu konwertuje do PDF to bym w pierwszym poście poprosił o funkcję, która wyśle na FTP (na stronę) a nie na maila. Teraz nie mam śmiałości. Było by to przegięcie.
    DZIĘKI, Wielkie DZIĘKI!!!

    Co do bezpieczeństwa to myślałem o tym żeby zapisać makro w normal ale nie ze względu na dane skrzynki bo i tak będzie założona nowa na potrzeby tego makra, ale bałem się że antywirus adresata potraktuje taki plik z makrem jako coś złośliwego. Teraz jak już jest w PDF-e nie ma z tym problemu.

    0
  • #14 05 Lut 2015 02:20
    PRL
    Poziom 33  

    Znalazłem w sieci procedurę wysyłająca na serwer FTP i wygląda to tak:

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #15 05 Lut 2015 13:41
    Wieslaw3
    Poziom 18  

    Działa :) Jeszcze raz wielkie DZIĘKI!!! Zastanawiam się kiedy Ty odpoczywasz :)

    0
  • #16 05 Lut 2015 13:46
    PRL
    Poziom 33  

    Kiedy Ty pracujesz.;)
    A może jestem botem?

    Wysyła się na serwer tak, jak powinno, czy coś jeszcze przerobić.?

    0
  • #17 05 Lut 2015 17:04
    Wieslaw3
    Poziom 18  

    Skoro mogę jeszcze pomarudzić to jest kłopot z tą ścieżką:
    Plik = "C:\gazetka.pdf"
    Wydaje mi się że nie zawsze makro ma prawa dostępu żeby zapisać w tej lokalizacji. Może lepiej gdyby zapisywał w TEMP ale w moich dokumentach ?

    0
  • #18 05 Lut 2015 17:07
    PRL
    Poziom 33  

    To zmień...

    Cytat:
    Wydaje mi się że nie zawsze makro ma prawa dostępu żeby zapisać w tej lokalizacji


    Albo ma, albo nie ma.

    Nie ma tak, że raz ma, a raz nie ma.

    Jeżeli w miedzyczasie nie zmienino uprawnień do katalogu.

    Albo piszemy proste makro, albo bawimy się w małą saplikację, ktra poawinna to i tamto robić.
    Zacząłeś wątek od czegoś innego, a na czym innym kończymy...
    Albo określ jakiego gotowca potrzebujesz (pewnie ktoś z Kolegów znajdzie czas), albo popracuj sam.

    P.S. Teraz nie trzeba chodzić do księgarni i kupować gazet w kiosku.
    Ty masz ten komfort, że tylko:
    - pytanie,
    - kopiuj,
    - wklej.
    ...

    0
  • #19 05 Lut 2015 17:22
    Wieslaw3
    Poziom 18  

    :) Zapytałeś co jest jeszcze nie tak więc napisałem. Na jednym kompie mi działa na innym nie. A to właśnie przez prawa dostępu. Gdyby to chodziło o prostą zmianę ścieżki np z C: na D: to by nie było problemu ale tu chodzi o ścieżkę na tyle uniwersalną żeby to zadziałało na różnych kompach - coś w stylu:
    %USERPROFILE%\Documents...
    Ale ok. Z tym już sobie poradzę. Dzięki

    0
  • #20 05 Lut 2015 17:38
    PRL
    Poziom 33  

    Cytat:
    Ale ok. Z tym już sobie poradzę.


    Cieszę się.

    Dodano po 6 [minuty]:

    sFTPCmds = Environ("TEMP") & "\" & "FTPCmd.tmp"

    Nic więcej nie potrzeba.

    0
  • #21 05 Lut 2015 18:14
    Wieslaw3
    Poziom 18  

    Tak, skorzystałem z tego przykładu. Jest jeszcze jedna rzecz.
    Plik FTPCmod.tmp jest zbyt szybko usuwany, jeszcze zanim zdąży się wysłać.
    Usunąłem procedurę usuwania tego pliku i jest OK.
    ______
    Edit.
    Ostateczne po zmianach.

    MARKO DLA PROGRAMU MS WORD WYSYŁAJĄCE AKTYWNY DOKUMENT NA ADRES E-MAIL

    (Uwaga, nie działa na Gmaila)

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    MARKO DLA PROGRAMU MS WORD KONWERTUJĄCE AKTYWNY DOKUMENT DO PDF I WYSYŁAJĄCE NA ADRES E-MAIL

    (Uwaga, nie działa na Gmaila)
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    MARKO DLA PROGRAMU MS WORD KONWERTUJĄCE AKTYWNY DOKUMENT DO PDF I WYSYŁAJĄCE NA SERWER FTP


    Kod: vb
    Zaloguj się, aby zobaczyć kod

    Wszelkie podziękowania należą się kol. PRL który zdobył i dostosował powyższe kody. Ja tylko wprowadziłem maleńkie modyfikacje do makra wysyłającego plik na FTP a mianowicie:
    - przekierowałem ścieżki plików tymczasowych do TEMP
    - wykluczyłem z działania procedury usuwanie pliku sFTPCmds (zbyt szybko się usuwał zanim zdążył się wysłać),
    - dodałem do składni pliku sFTPCmds razę BINARY ponieważ pliki po wysłaniu na serwer miały zmieniona postać (był kłopot z czcionką).
    - Dodałem wyskakujące okienko zapobiegające przypadkowemu wysłaniu pliku.

    0