• fabricate
    Definition: (verb) Make up something artificial or untrue. Synonyms: cook up, invent, manufacture. Usage: Did Harold really wrestle a bear, or did he fabricate the story to impress us? Discuss […]
Check how the word is used

Korespondencja seryjna z załącznikami lepiej niż w Outlooku (albo: I [heart] Thunderbird)

Post z okazji udostępnienia przez mozillę Release Candidate Thunderbirda 3.

160x120_thunderbirdJeden z popularniejszych wpisów na tej stronie dotyczy wysyłania korespondencji seryjnej z załącznikami za pomocą Outlooka. Oprócz programu do obsługi poczty potrzebny jest jeszcze Word i Excel – nic dziwnego skoro Microsoft sprzedaje całość jako Office 2007. Oprócz tego niezbędna jest podstawowa umiejętność korzystania z VBA.

Outlook może i jest standardem w polskich biurach, ale oprócz tego jest (moim skromnym zdaniem) najlepszym pecetowym rozwiązaniem integrującym pocztę, kalendarz i zadania (od wersji 2007). Wiem co mówię. Thunderbird z rozszerzeniem Lightning sprawdza się prawie tak samo dobrze. Od teraz – zintegrowana obsługa kalendarza może wreszcie pozwolić przesiąść się w pełni na darmowy produkt Mozilli.

Ale wracając do załączników, korespondencji seryjnej i łatwego wysyłania maili do wielu osób. Potrzebny będzie Thunderbird (może być wersja pendrive’owa – portable i rozszerzenie Mailtweak)

Potem wystarczy dodać wybrać opcję Personalizuj, w polu Do: dodać więcej niż jeden adres (albo nie dodawać żadnego – wtedy Thunderbird poprosi o listę adresatów w pliku .csv) i automagicznie będziemy wysyłać korespondencję seryjną z załącznikami (załączonymi normalnie – bez wydziwiania z VBA) do kogo tylko zechcemy. (A właściwie – do tego, kto chce otrzymywać od nas masowe maile.

korespondencja seryjna z załącznikami

Korespondencja seryjna to często niedoceniane narzędzie w Ms Word. Jednak  projektanci interfejsu Office’a 2007 słusznie poświęcili jej całą kartę wstążki. Przydaje się nie tylko do tworzenia podobnych dokumentów “z szablonu” ale również – na co wskazuje sama nazwa do seryjnego wysyłania maili.

Głównym mankamentem tego mechanizmu jest brak obsługi załączników. W internecie roi się od narzekań na ten problem a najczęściej cytowanym rozwiązaniem jest artykuł Douga Robbinsa ze strony Microsoft Most Valuable Professional http://word.mvps.org/faqs/mailmerge/MergeWithAttachments.htm, na którym opiera się poniższy post.

Tekst Douga zakłada, że czytelnik wie jak zrobić “zwykłą” korespondencję seryjną – ja nieco rozszerzam temat nie robiąc takiego założenia.

Mimo że Doug pisze, że jego skrypt zadziała na wersjach Office od 97 do 2007 (i ma rację), to pomija jeden szczegół. Przy korespondencji seryjnej Outlook prosi o potwierdzenie użytkownika przed wysłaniem każdego (z np. 1000) maili, Doug sugeruje instalację darmowego programu ”Express ClickYes” http://www.contextmagic.com/express-clickyes/ jednak według strony producenta do działania z Office 2007 potrzebujemy już wersji płatnej. To jednak nie powinien być problem, ponieważ niewygodnego pytania Outlook nie zada jeśli domyślnym typem wysyłanych wiadomości jest HTML.

Dużym plusem (przynajmniej dla mnie) tego rozwiązania jest to, że Outlook nie musi być domyślnym klientem poczty – wystarczy aby był zainstalowany. Skrypt Douga pozwala na dołączanie wielu załączników do każdej wiadomości, a nawet dołączanie różnych załączników dla różnych odbiorców.

Makro

Aby wszystko zadziałało, w Edytorze Visual Basica (alt+F11 lub karta Deweloper) należy ustawić odniesienie do Microsoft Outlook Object Library.

Edytor nie jest tłumaczony, więc klikamy na Tools>References w górnym menu i z długiej listy komponentów wybieramy  Microsoft Outlook 12 Object Library (12 to numer właściwy wersji 2007).

Tu również trzeba będzie później dodać makro (w oknie This document konkretnego pliku (Projektu) lub szablonu)

Cztery pliki i wysyłka

1

Do korespondencji z załącznikami będziemy potrzebowali (jak zwykle) źródła danych (np. arkusza Excela) w którym umieszczone będą w jednej z kolumn wszystkie adresy e-mail odbiorców a każdy wiersz zawiera dane na temat tego właśnie odbiorcy, które możemy wstawić w tekst wysyłanego maila – w tym samym pliku możemy również podać ścieżkę do pliku załącznika, który chcemy wysłać.

Ponieważ błąd w tym ostatnim może nas kosztować w najgorszym przypadku wysyłanie maili (stu – tysiąca) bez załączników w najlepszym konieczność powtarzania procedury od początku warto sobie ułatwić życie i skopiować załączniki do głównego katalogu jednego z dysków – tak aby były widoczne od razu po kliknięciu na ikonę dysku w oknie Mój Komputer – wtedy dla dysku C i pliku Raport.pdf ścieżką będzie C:\Raport.pdf

2

Poza tym potrzebny nam będzie również dodatkowy dokument Worda (katalog korespondencji), w którym umieścimy dane o tym jaki załącznik (i do kogo) chcemy wysłać.

1

W katalogu wstawiamy jednowierszową tablekę z 2 lub więcej kolumn i wybieramy nasze – przygotowane już źródło danych.

W pierwszej kolumnie umieszczamy pole korespondencji seryjnej zawierające adres e-mail, w drugiej (i ew. kolejnych) pola zawierające ścieżki dostępu do załączników.

Powinno to wyglądać mniej więcej tak

<<AdresEmail>>

<<Zalacznik1>>

<<Zalacznik2>>

W prostszych przypadkach – np. gdy wysyłamy takie same załączniki do wszystkich wystarczy wpisać ścieżkę właśnie w tej tablce – np. tak

<<AdresEmail>>

C:\Raport.pdf

Możemy również stosować kombinację obu metod i wysłać Raport do wszystkich jako pierwszy załącznik, ale drugi pobrać już ze źródła danych:

<<AdresEmail>>

C:\Raport.pdf

<<Zalacznik2>>

3

Przygotowany w ten sposób dokument należy scalić korzystając z opcji Edytuj poszczególne dokumenty (Alt+Shift+N). Word stworzy automatycznie nowy plik w którym – o ile wszystko poszło dobrze zobaczymy naszą tabelkę (tyle wierszy ilu mamy odbiorców) wypełnioną danymi. Plik należy zapisać np. jako “katalog korespondencji”  i zapamiętać miejsce – za moment będziemy musieli go otworzyć.

4

Następnie – w nowym dokumencie Worda przygotowujemy treść korespondencji seryjnej – wpisujemy wspólne części maili, a treść personalizowaną wstawiamy ze źródła danych. Ponownie scalamy korzystając z opcji Edytuj poszczególne dokumenty i do uzyskanego pliku dodajemy makro.

Kiedy wszystko jest już gotowe  uruchamiamy nasze makro (Alt+F8), wskazujemy i otwieramy nasz “katalog korespondencji”, w kolejnym okienku wpisujemy jeszcze temat wspólny dla wszystkich wiadomości.

Za pierwszym razem (albo każdym kolejnym) warto zadbać o to, aby mieć możliwość przejrzenia maili przed wysłaniem – już w Outlooku – dla tego warto wyłączyć (wcześniej!) automatyczne wysyłanie wiadomości z domyślnego konta, lub po prostu rozłączyć się z Internetem i dopiero po upewnieniu się, że wszystko jest dokładnie tak jak chcemy, kliknąć w Outlooku “Wyślij”.

kwota słownie w excelu

Ostatnie obowiązki (fakturowanie, przygotowywanie rachunków itd.) dały mi szansę po raz kolejny pobawić się excelem. I byłoby miło gdyby nie obowiązkowe wpisywanie kwot słownie. Tak jak mówiłem ostatnio przygotowałem sobie makro na podstawie jednego z krążących w sieci przepisów. Nie spodziewałem się nawet jak często będę musiał go używać.

Najprostszym wyjściem jest zainstalowanie go jako dodatku excela (plik .xla dla wersji do 2003 i .xlam dla 2007) – dla ułatwienia przygotowałem plik .xla

Aby móc używać nowej funkcji =slownie() należy zainstalować dodatek. Najlepiej pobrany plik skopiować do właściwego katalogu

dla Excela 97-2003 będzie to: C:\Program Files\Microsoft Office\Office XX\Library

xx to numer wersji Excela np. 11 lub 12

dla 2007 C:\Documents and Settings\Twoja nazwa użytkownika\Dane Aplikacji\Microsoft\Dodatki

Następnie (Excel 97-2003) z menu Narzędzia wybieramy Dodatki i jeżeli plik jest w odpowienim katalogu (powyżej) wystarczy zaznaczyć okienko przy jego nazwie i kliknąć OK. (jeśli plik jest w innym katalogu, wybieramy Przeglądaj i odnajdujemy go – ważne żeby później nie zmieniać lokalizacji pliku).

W Excel 2007 procedura jest niemal identyczna – klikamy przycisk Office i wybieramy Opcje programu Excel i Dodatki. Pliki z katalogu powyżej będą gotowe do wybrania – jeśli umieściliśmy je gdzie indziej, należy wskazać je korzystając z opcji Zarządzaj – Przejdź (na dole okna poniżej).

addinspo zainstalowaniu dodatku formuła =slownie(a1) zamieni cyfrową zawartość komórki a1 – np. “199,91″ na sto “dziewięćdziesiąt dziewięć złotych dziewięćdziesiąt jeden groszy”