auto udw:

Pytania, problemy, uwagi związane ze starszymi wersjami Microsoft Outlook 2003, 2002 (XP), 2000, 98

Moderator: Moderatorzy

auto udw:

Postprzez baboo » Śr 17.01.2007 21:27

Witam...
jestem zielony w outlooku (2003), więc małe pytanko na początek:
jak i gdzie ustawić automatyczne wysyłanie ukrytej kopii każdej wychodzącej wiadomości (z załącznikiem).
da sie ili niet.
makro :?: :?: dla mnie kosmos :(
kopałem po ustawieniach ale nic nie znalazłem.
pomocy... :(
..:: baboo ::..
baboo
 
Posty: 4
Dołączył(a): Śr 17.01.2007 21:17
Lokalizacja: kraków

Postprzez michu » Śr 17.01.2007 22:57

Faktycznie, nie ma takiego ustawienia w Outlook'u. Możesz zrobić to takim makrem:

Kod: Zaznacz cały
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
   
    If Item.Attachments.Count > 0 Then
        Set oRecipient = Item.Recipients.Add("info@outlook.pl")
        oRecipient.Type = olBCC
        Item.Recipients.ResolveAll
    End If
End Sub


Makro dodaje adres "info@outlook.pl" do wiadomości w polu UDW, ale tylko jeśli wiadomość zawiera jakieś załączniki (tak zrozumiałem pytanie).

Makro powinieneś wstawić w edytorze Visual Basic w module ThisOutlookSession. Więcej informacji na temat instalacji makr znajdziesz w artyklue Instalacja i uruchamianie makr.

Jeśli chodzi o małe sprawdzanie, co wysyłają pracownicy, to dwie uwagi :)

1. Jeśli w Outlook'u użytkownik ma ustawiony inny poziom zabezpieczeń niż "Niskie", a domyślnie jest to poziom "Średnie", to makro może nie być uruchamiane. W najlepszym wypadku przy wysyłaniu pierwszej wiadomości użytkownikowi wyświetli się komunikat "Czy chcesz włączyć makra", jeśli wybierze "Nie", to makro nie będzie działać.

2. Jeśli użytkownik po wysłaniu wiadomości przejdzie do folderu "Elementy wysłane" i otworzy taką wiadomość to zobaczy, że w polu UDW jest wstawiony dodatkowy adres.

Aby uzyskać takie rozwiązanie, które byłoby zupełnie nie do wykrycia przez użytkownika Outlook'a, trzeba napisać odpowiednie rozszerzenie.
Pozdrawiam
Michu
michu
 
Posty: 4190
Dołączył(a): N 05.02.2006 17:49
Lokalizacja: Jelenia Góra

Postprzez baboo » Cz 18.01.2007 10:44

wielkie dzięki, działa :!: :!: :!: ...
jednakowoż nie precyzyjnie się wyraziłem :D ...
chodziło mi o wszystkie wiadomości (włącznie z tymi z załącznikami).
:roll: nie chodzi mi o szpiegowanie pracowników tylko wysłanie kopii zapasowej na dodatkową skrzynkę.
pracownicy wiedzą że cuś takiego jest :arrow: będzie i nawet mogą widzieć przy tworzeniu wiadomości pole UDW.
pozdr...
..:: baboo ::..
baboo
 
Posty: 4
Dołączył(a): Śr 17.01.2007 21:17
Lokalizacja: kraków

Postprzez michu » Cz 18.01.2007 10:52

Jeśli ma to działać dla wszystkich załączników, to należy usunąć z makra tylko instrukcję IF, czyli będzie wyglądało ono tak:

Kod: Zaznacz cały
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Set oRecipient = Item.Recipients.Add("info@outlook.pl")
    oRecipient.Type = olBCC
    Item.Recipients.ResolveAll
End Sub


Co do szpiegostwa :D
Mnie oczywiście nie interesuje do czego takie makro jest Ci potrzebne. Poza tym, masz prawo do takich działań w swojej firmie, bo pracownicy działają na Twoim sprzęcie. Oczywiście należy ich o tym najpierw poinformować... Ale to taka dygresja zupełnie niezwiązana z tematem :)

A waracając do tematu. Rozumiem, że nie macie serwera Exchange, bo tam taką archiwizację przeprowadza się zupełnie inaczej, po stronie serwera.
Pozdrawiam
Michu
michu
 
Posty: 4190
Dołączył(a): N 05.02.2006 17:49
Lokalizacja: Jelenia Góra

Postprzez baboo » Cz 18.01.2007 21:01

serwera nie mamy.... w ogóle nie wiele mamy hyyy :lol:
ale mam(y) inny problem :(
testowałem to poprzednie makro w domu i działało, ale w pracy d..a (fakt że komputery cieniutkie, ale do tej pory z officem problemów nie było).
postępuję według instrukcji, wklejam tam gdzie trzeba, a w spisie makr ( alt-F8 ) puchy, ani pierwszego ani drugiego (jakby się nic nie zapisało ?) :?: po wklejeniu kodu do module1, pojawia się on w ThisOutlookSesion. utworzyłem module2 i wkleiłem kod w wersji - kopia wiadomości z załącznikiem, ale ten się już w ThisOutlookSesion nie pojawił :?: ciekawość...
wciskając F5 (run macro) ma co prawda w rozwijany pasku mój VbaProjekt.OTM ale w nim puchy. wykasowałem wszystkie module i wpisy w ThisOutlookSesion, utworzyłem pod F5 (run) nowe makro i wkleiłem kod... chwila uniesienia JEST, noto URUCHOM... cytat: :o
:?: :idea: kwestia instalacji pakietu :?: czegoś brakuje w systemie :?:
A tak swoją drogą ciekawe te makra. wiesz może gdzie mogę poczytać więcej (treściwiej) :?:
..:: baboo ::..
baboo
 
Posty: 4
Dołączył(a): Śr 17.01.2007 21:17
Lokalizacja: kraków

Postprzez baboo » Cz 18.01.2007 21:06

zapomniałem cytatu błędu: run-time error '424' object required
..:: baboo ::..
baboo
 
Posty: 4
Dołączył(a): Śr 17.01.2007 21:17
Lokalizacja: kraków

Postprzez michu » Pt 19.01.2007 12:08

Ten kod musi być wklejony w module ThisOutlookSession, bo używa zdarzeń. Nie może znajdować się w żadnym innym module.

Dużo ciekawych rzeczy na temat tworzenia makr w Outlook'u dowiesz się na stronie www.outlookcode.com.
Pozdrawiam
Michu
michu
 
Posty: 4190
Dołączył(a): N 05.02.2006 17:49
Lokalizacja: Jelenia Góra

ukryte UDW

Postprzez arkoch » N 23.09.2007 11:56

Witam,
Mam pytanie - jak i czy w ogóle da się napisać w tym makro żeby nie bylo wpisu w wiadomości wysłanej UDW ale żeby pocztę jednak wysyłalo na wskazany adres

pozdrawiam
Arek K.
arkoch
 
Posty: 3
Dołączył(a): N 23.09.2007 05:11

Postprzez michu » Pn 24.09.2007 07:47

Gdzieś ten adres musi być wpisany, aby wiadomość została na niego wysłana. Pole UDW to najlepsze miejsce, bo dla odbiorcy wiadomości jest niewidoczne - być może o to Ci właśnie chodzi.
Pozdrawiam
Michu
michu
 
Posty: 4190
Dołączył(a): N 05.02.2006 17:49
Lokalizacja: Jelenia Góra

Postprzez arkoch » Pn 24.09.2007 07:51

chodzi mi o to zeby nie bylo widoczne dla wysylajacego - ktory wejdzie w elementy wyslane i zobaczy - chodzi tutaj o pracownikow.

prosze o info
arkoch
 
Posty: 3
Dołączył(a): N 23.09.2007 05:11

Postprzez OShon » Pn 24.09.2007 10:07

Tak sobie to czytam i myślę że arkoch coś kombinujesz ... coś na kształt spyware dla poczty ;]

-Jeśli to sprawa oficjalna - to może ustawić to na serwerze,
w tedy nikt nie będzie wiedział co się z pocztą dzieje po jej wysłaniu. Administrator ustawi to w 5 minut.
-Jeśli jednak chciałbyś komuś zrobić kawał i jego pocztę podglądać a potem umyć od tego ręce (bez udziału serwera i osób 3cich) - to może to nie do końca moralne ale po wysłaniu wiadomości należało by wykasować adres w UDW i ponownie wiadomość zapisać.
Obrazek
Oskar Shon - MVP Office Dev. 11/20, 3x MCC, 4/9/22 TechNet
Forum moderator: Outlook.pl | ExcelForum.pl | MSDN dział VBA
Zobacz fajne dodatki: Outlooka, Excela, Worda lub PowerPointa
OShon
 
Posty: 10348
Dołączył(a): Cz 19.10.2006 08:31
Lokalizacja: Projekt autorski VBATools.pl

Postprzez michu » Pn 24.09.2007 14:37

Tak, jak pisze OShon. Makro powinno dodatkowo wykrywać wiadomości lądujące w "Elementach wysłanych" i usuwać z nich adres dodany w polu UDW. Makro nie jest tu jednak pewnym rozwiązaniem. Bardziej doświadoczny użytkownik może zawsze zmienić poziom zabezpieczeń makr, przez co przestanie ono działać lub może po prostu wejść do edytora VBA i zmodyfikować lub usunąć makro. Tego typu rozwiązania zazwyczaj implmentuje się poprzez rozszerzenia Outlook'a, które jednak są bardziej zaawansaowane i nie da się ich oprogramować przy pomocy prostych skryptów.
Pozdrawiam
Michu
michu
 
Posty: 4190
Dołączył(a): N 05.02.2006 17:49
Lokalizacja: Jelenia Góra

Postprzez arkoch » Wt 25.09.2007 03:12

a czy mozezecie podac jakias formule na to makro zeby usuwalo udw???? po wysłaniu wiadomosci?
arkoch
 
Posty: 3
Dołączył(a): N 23.09.2007 05:11

Postprzez jacek_s » Wt 25.09.2007 08:37

Tu jest kompletny kod - dodawanie bcc i jego usuwanie po wysłaniu. Trzeba to skopiować do makr. Jest ważne, żeby 1-sza linia była na samym początku kodu, tzn. nic nie powinno być przed nią.

Kod: Zaznacz cały
Private WithEvents oSentItems As Items

Private Sub Application_Startup()
    Set oSentItems = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderSentMail).Items
End Sub

Private Sub oSentItems_ItemAdd(ByVal Item As Object)
    On Error Resume Next

    Dim oMail As MailItem
    Set oMail = Item
    If oMail Is Nothing Then Exit Sub
   
    Dim oRecipients As Recipients
    Set oRecipients = oMail.Recipients
    If oRecipients Is Nothing Then Exit Sub
   
    With oRecipients
        For iPos = 1 To .Count
            If .Item(iPos).Address = "info@outlook.pl" And .Item(iPos).Type = olBCC Then
                .Remove iPos
                oMail.Save
                Exit Sub
            End If
        Next
    End With
   
End Sub

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Set oRecipient = Item.Recipients.Add("info@outlook.pl")
    oRecipient.Type = olBCC
    Item.Recipients.ResolveAll
End Sub

jacek_s
 
Posty: 6
Dołączył(a): Wt 25.09.2007 08:31

Postprzez KAJ » Pt 07.03.2008 15:30

Szukałem, próbowałem, ale bez skutku.
Mam skrzynkę na serwerze Exchange z dwoma kontami
1. imienne
2. zespołowe

Jak tylko dla wiadomości wysyłanych z drugiego konta (zespołowego) dodawać zawsze do kopii dodatkowy adres?
KAJ
 
Posty: 4
Dołączył(a): Wt 29.01.2008 13:20

Postprzez Łukasz M. » Pn 10.03.2008 09:45

Makro dla Outlook'a 2007.

Kod: Zaznacz cały
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

    Dim oMail As MailItem
    Set oMail = Item
    If oMail Is Nothing Then Exit Sub
   
    If (StrComp(oMail.SendUsingAccount, "<ADRES_EMAIL_KONTA_ZESPOLOWEGO>", vbTextCompare) = 0) Then
        oMail.BCC = oMail.BCC & "; <DODATKOWY_ADRES_EMAIL>"
    End If

End Sub
Łukasz M.
 
Posty: 95
Dołączył(a): Pt 03.08.2007 10:53
Lokalizacja: Jelenia Góra

Postprzez KAJ » Pn 10.03.2008 11:58

Dziękuję za pomoc.
Przepraszam, nie napisałem, że pracujemy w Outlooku w wersji 2003.
Czy mogę prosić o pomoc dla tej wersji?
KAJ
 
Posty: 4
Dołączył(a): Wt 29.01.2008 13:20

Postprzez Łukasz M. » Wt 11.03.2008 09:38

Niestety nie wiem, jak zmusić Outlook'a 2003, aby wyciągnąć informacje dotyczące konta, z którego wysyłana jest wiadomość.
Łukasz M.
 
Posty: 95
Dołączył(a): Pt 03.08.2007 10:53
Lokalizacja: Jelenia Góra

Re: auto udw:

Postprzez barbaros » Pt 07.11.2008 09:53

W outlooku makro:

Kod: Zaznacz cały
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Set oRecipient = Item.Recipients.Add("miron@test.pl")
    oRecipient.Type = olBCC
    Item.Recipients.ResolveAll
End Sub


dziala super. jednak potrzebuje modyfikacji (a na makrach sie nie znam) dla usera, ktory posiada skonfigurowane kilka kont pocztowych, a taka funkcjonalnosc ma byc dostepna tylko dla wybranego konta.
barbaros
 
Posty: 2
Dołączył(a): Pt 07.11.2008 09:48

Re: auto udw:

Postprzez barbaros » Pt 21.11.2008 08:34

nikt nie pomoze? :(
barbaros
 
Posty: 2
Dołączył(a): Pt 07.11.2008 09:48

Następna strona

Powrót do Microsoft Outlook

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości