Microsoft Outlook troubleshooting

Czy nie spotkaliście się z potrzebą adresowania wiadomości osobno. Opcja UDW (ukryte do wiadomości) nie jest wystarczająca, ponieważ odbiorca otrzymuje komunikat: undisclosed-recipients co dyskredytuje was w jego oczach jako twórcę wiadomości kierowanej tylko do jednego odbiorcy (czyli do niego). Między innymi tym można odróżnić Spam od wiadomości dla konkretnego odbiorcy.

Jest na to rada. Poniżej znajduje się procedura, która wyśle przygotowaną wiadomość do wszystkich odbiorców pojedynczo.

Procedura nie uwzględnia wiadomości, które posiadają w miejscu adresu: listy dystrybucyjnej. Aby przekształcić taką wiadomość należy kliknąć plusik (>= 2007) aby pobrać adresy z listy.

Pobranie adresów z listy w wersji 2007/10

Rys 1. Pobranie adresów z listy w wersji 2007/10

Następnie wywołać poniższą procedurę. Czas realizacji dystrybucji jest wprost proporcjonalny do ilości osób oraz załączników wiadomości. Adresy znajdujące się w polach DW i UDW zostaną przeniesione do pola DO jako jedyny adresat wiadomości (Rys 2.).

Sub Wyslij_osobno()
 'MVP Oskar Shon - VBATools
 Const nie$ = "Wiadomość zawiera listę dystrybucyjną." & vbCr & _
              "Wysyłanie zostało przerwane!"
 Const otrzymana$ = "Uruchom procedurę na gotowej do wysłania wiadomości!"
 Const ja$ = "VBATools"

 On Error GoTo koniec
 Dim oMail  As MailItem: Set oMail = ActiveInspector.CurrentItem
 If Len(oMail.BCC) > 0 Or Len(oMail.CC) > 0 Then _
    oMail.To = oMail.To & ";" & oMail.CC & ";" & oMail.BCC

 Dim odbiorcy$, x&, newMail As MailItem
 With oMail.Recipients
 Dim Ile&: Ile = .Count
  If Ile > 1 Then
   For x = Ile To 1 Step -1
   DoEvents
    If .item(x).DisplayType = 5 Then GoTo blad
    Set newMail = oMail.Copy
    newMail.To = .item(x): newMail.CC = "": newMail.BCC = ""
    odbiorcy = .item(x) & ";" & odbiorcy
    newMail.Send 'Display '<-jeśli chcesz zobaczyć przed wysłaniem
    .Remove (x)
   Next x
    oMail.Delete
  ElseIf Ile = 1 Then
   If .item(1).DisplayType = 5 Then GoTo blad
   odbiorcy = .item(1)
   oMail.Send
  Else
   oMail.Display: MsgBox "Brak adresów!", vbExclamation, ja: Exit Sub
  End If
 End With
 MsgBox "Wygenerowano: " & Ile & " wiadomości." & vbCr & _
        "Adresaci: " & odbiorcy, vbInformation, ja

 Set newMail = Nothing
 Set oMail = Nothing
Exit Sub

'--obsługa błędu
koniec:
 Select Case Err.Number
  Case 91:   MsgBox otrzymana, vbExclamation, ja
  Case Else: MsgBox Err.Number & " " & Err.Description, vbExclamation, ja
 End Select
Exit Sub

blad:
 MsgBox nie, vbExclamation, ja
 If Val(Application.Version) >= 12 Then _
 MsgBox "Możesz przy liście dystrybucyjnej plusikiem pobrać adresy z listy " & _
        "do pola adresu i ponowić proces nadawania wywołując ponownie procedurę VBA.", _
        vbInformation, ja
End Sub

Kod powinien znaleźć się w module pliku .OTM i być wywoływany skrótem klawiszowym [Alt+F8] lub dzięki podłączonemu przyciskowi umieszczonego w pasku szybkiego dostępu szablonu nowej wiadomości. Można go wzbogacić o pasek postępu, tak aby mieć kontrolę nad realizacją wysyłki.

Generowanie wiadomości pojedynczo (i wysłanie ich)

Rys 2. Generowanie wiadomości pojedynczo (i wysłanie ich)

Innym sposobem na wysłanie wiadomości pojedynczo jest zastosowanie korespondencji seryjnej, narzędzia dostępnego z poziomu MS Word lub zastosowania dodatku do spersonalizowanej wysyłki wiadomości: Generatora maili z indywidualnymi załącznikami dla zdefiniowanych odbiorców.

MVP Shon Oskar – VBATools.pl
Jeśli masz pytania dot. tego artykułu zapraszam na Forum
Skonfiguruj swój pakiet dodatków do Excela, Worda, PowerPointa i Outlooka



© Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.

Komentarze

Komentarze
Andrzej Zajączkowski
Andrzej Zajączkowski , WUP Ziielona Góra 2012-08-24 10:53:28
Witam Pana Może moje pytanie nie jest konkretnie związane z Pana Tematem lecz postanowiłam napisac bo poszukuję rozwiązania związanego z możliwością wydrukowania w poczcie otrzymanej daty i czasu otrzymania wiadomości. Chodzi mi o kod pola "otrzymano" aby zdefiniować styl noty Z góry dziękuję za ewentualna pomoc Pozdrawiam Andrzej Zajączkowski
Krzysztof Flach
Krzysztof Flach, FLACH 2013-01-02 10:51:37
Witam, gdzie mam wkleić ten magiczny kod? Gdzie znajduje się moduł pliku .OTM?
It doesn\\
It doesn\\, at all. 2013-02-05 11:09:25
Witam, gdzie mam wkleić ten magiczny kod? Gdzie znajduje się moduł pliku .OTM Alt+F11, z lewej str. na słowie "Project" prawoklik, z rozwijanego menu wybierasz "insert->Module" później zapisujesz zmiany i masz gotowe makro pod Alt+F8
OShon
OShon, VBATools.pl 2013-02-13 20:13:35
Andrzeju - zapraszam na Forum. Krzysiek - "It doesn" ci odpowiedział, jeśli masz pytania j.w.
Kami
Kami 2014-06-21 12:13:27
Proste i genialne! Dzięki!
gelimber
gelimber 2014-08-04 12:15:39
MS Outlook 2010. Makro dodane w Modules - Module1 w obszarze Projekt1 (VbaProject.OTM). Komunikat VBATools.pl -1213988593Próba wykonania operacji nie powiodła się. Nie można odnaleźć obiektu. (ten początkowy numer za każdym razem jest inny; komunikat pojawia się niezależnie, czy chcę wysłać prostą wiadomość tekstową, czy jakiś sformatowany list html/rtf).
gelimber
gelimber 2014-08-04 12:15:48
MS Outlook 2010. Makro dodane w Modules - Module1 w obszarze Projekt1 (VbaProject.OTM). Komunikat VBATools.pl -1213988593Próba wykonania operacji nie powiodła się. Nie można odnaleźć obiektu. (ten początkowy numer za każdym razem jest inny; komunikat pojawia się niezależnie, czy chcę wysłać prostą wiadomość tekstową, czy jakiś sformatowany list html/rtf).
gelimber
gelimber 2014-08-04 12:16:19
MS Outlook 2010. Makro dodane w Modules - Module1 w obszarze Projekt1 (VbaProject.OTM). Komunikat VBATools.pl -1213988593Próba wykonania operacji nie powiodła się. Nie można odnaleźć obiektu. (ten początkowy numer za każdym razem jest inny; komunikat pojawia się niezależnie, czy chcę wysłać prostą wiadomość tekstową, czy jakiś sformatowany list html/rtf).
gelimber
gelimber 2014-08-04 12:16:33
MS Outlook 2010. Makro dodane w Modules - Module1 w obszarze Projekt1 (VbaProject.OTM). Komunikat VBATools.pl -1213988593Próba wykonania operacji nie powiodła się. Nie można odnaleźć obiektu. (ten początkowy numer za każdym razem jest inny; komunikat pojawia się niezależnie, czy chcę wysłać prostą wiadomość tekstową, czy jakiś sformatowany list html/rtf).
 Tomasz Poniatowski
Tomasz Poniatowski, MEDOS 2014-08-25 09:01:07
Wiadomość jest wysyłana dwukrotnie, co może być powodem?
 Tomasz Poniatowski
Tomasz Poniatowski, MEDOS 2014-08-25 09:01:21
Wiadomość jest wysyłana dwukrotnie, co może być powodem?
 Tomasz Poniatowski
Tomasz Poniatowski, MEDOS 2014-08-25 09:01:34
Wiadomość jest wysyłana dwukrotnie, co może być powodem?
nie całkiem działa
nie całkiem działa 2014-09-22 11:50:16
A jak zrobić, żeby działało na adresach wpisanych do książki adresowej? Bo obecnie wszystkie adresy muszą być w formacie osoba@domena.com natomiast outlook często do paska adresów wstawia format Imię Nazwiska
nie całkiem działa
nie całkiem działa 2014-09-22 11:52:58
A jak zrobić, żeby działało na adresach wpisanych do książki adresowej? Bo obecnie wszystkie adresy muszą być w formacie osoba@domena.com natomiast outlook często do paska adresów wstawia format Imię Nazwiska
michał
michał, AMI 2014-12-22 18:12:55
Dziadostwo szkoda Waszego czasu i wysiłku. Czasem działa czasem nie. Koleś usuń lepiej tego bubla.
michał
michał, AMI 2014-12-22 18:13:22
Dziadostwo szkoda Waszego czasu i wysiłku. Czasem działa czasem nie. Koleś usuń lepiej tego bubla.
jan
jan 2015-02-17 23:48:02
nowa poczta hotmal nie wysyła wiadomości tylko dubluje wiadomość jedną 1000 razy proszę o pomoc jest dziwne że adresaci mogą wysyłać do mnie wiadomości
jan
jan 2015-02-17 23:51:04
nowa poczta hotmal nie wysyła wiadomości tylko dubluje wiadomość jedną 1000 razy proszę o pomoc jest dziwne że adresaci mogą wysyłać do mnie wiadomości j
jan
jan 2015-02-17 23:56:47
nowa poczta nie wysyła wiadomości tylko dubluje wiadomość jedną 1000 razy proszę o pomoc jest dziwne że adresaci mogą wysyłać do mnie wiadomości
Oskar Shon
Oskar Shon, VBATools.pl 2015-05-23 12:39:39
Do zadawania pytań jest forum. Zapraszam, aby tam tworzyć posty z pytaniem, o ile wcześniej nie znajdziesz na niego odpowiedzi.