[Outlook 2003] "Adresowanie" folderów wiadomości,

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

Moderator: Moderatorzy

[Outlook 2003] "Adresowanie" folderów wiadomości,

Postprzez alan.bem » Śr 19.03.2008 14:27

Witam serdecznie.

Mam kilka pytań odnośnie Modelu Outlooka.

Jak mogę się dobrać do kolekcji emaili z konkretnego folderu z wiadomościami (np. o nazwie "blahblah")?

Następnie jak wyszukać kontakty tylko po tym, że należą do kategorii "foo"?

Dalej, mam koncepcję zsynchronizowania drzewa folderów w skrzynce z drzewem na dysku twardym (na dysku będę trzymał tylko załączniki) i chodzi mi o zapamiętywanie danych przez VBA w outlooku na dłuższy czas. Czy jest coś w rodzaju rejestru, albo konfigu, który moge użyć do tego (do okreslenia ścieżki do folderu, gdzie będę trzymał strukture katalogów o którym pisałem wcześniej)?

Z góry dziękuję za odpowiedź.

Pozdrawiam, Alan.
alan.bem
 

Postprzez michu » Śr 19.03.2008 14:45

Jak mogę się dobrać do kolekcji emaili z konkretnego folderu z wiadomościami (np. o nazwie "blahblah")?

Zobacz np tutaj:
http://www.outlook.pl/forum/viewtopic.php?t=2130

[url]Następnie jak wyszukać kontakty tylko po tym, że należą do kategorii "foo"?[/url]
Poczytaj o metodzie Find obiektu Items. Ale dobrze nie będzie to działać. Podejrzewam, że będą problemy z wyszukiwaniem kontaktów, które mają więcej niż jedną kategorię.
Pozdrawiam
Michu
michu
 
Posty: 4190
Dołączył(a): N 05.02.2006 17:49
Lokalizacja: Jelenia Góra

Postprzez alan.bem » Cz 20.03.2008 11:26

Dziękuję bardzo, pomogło mi to w zorientowaniu się co i jak.

Na szczęście składnia VBA nie jest zbyt skomplikowana i poszło szybko.

Wkleję tutaj kawałek kodu z którego ogarniałem resztę:

Kod: Zaznacz cały
Sub showContactsMarkedAsMzszp11()
    'Deklaracja typów zmiennych
    Dim olApp As Outlook.Application
    Dim olNamespace As Outlook.NameSpace
    Dim objContacts As Outlook.MAPIFolder
    Dim objContact As ContactItem
    Dim strCategories As String
    Dim i As Integer
   
    Set olApp = CreateObject("Outlook.Application")
    Set olNamespace = olApp.GetNamespace("MAPI")
   
    'Pobierz nadrzędne "foldery osobiste", a następnie wybrany (Mz/Szp-11) folder podrzędny/kontaktów
    Set objContacts = olNamespace.Folders(1).Folders("Mz/Szp-11")
   
    'Iteruj po kolekcji kontaktów
    For i = 1 To objContacts.Items.Count
        Set objContact = objContacts.Items(i)
       
        'Szukaj kontaktów po kategorii
        If 0 <> InStr(objContact.Categories, "Mz/Szp-11") Then
            'Wyświetl pole "Numer Ksiegi" (user-definied) i nazwę firmy kontaktu
            Debug.Print i & " " & objContact.ItemProperties("Numer Księgi") & " " & objContact.CompanyName
        End If
    Next
End Sub


Pozdrawiam, Alan.


edit:

Po tym można odczytać jak pobrać kolekcję obiektów z konkretnego folderu (czyli bez potrzeby użycia kategorii) jak i po kategoriach.

W miarę postępów będę się starał wrzucać coś więcej - jestem wieloletnim uczestnikiem forów i wiem jak bardzo to bywa przydatne.
Ostatnio edytowano Cz 20.03.2008 11:47 przez alan.bem, łącznie edytowano 1 raz
alan.bem
 

Postprzez alan.bem » Cz 20.03.2008 11:47

Mam jeszcze pyt o konfigurację? Gdzie mogę ją trzymać?
Pewnie add-in'y dostaja własną przestrzeń do tego, a jak zwykłe skrypty?
alan.bem
 

Postprzez OShon » Cz 20.03.2008 23:10

Najlepiej export do XMLa a potem czytanie tego przed wykonaniem procedury (z pytaniem czy nie utworzyć nowego; lub w osobnej opcji). Gdy nie znajdzie pliku to automatycznie klepsydra, skanuje ponownie i tworzy nowy plik.

Jeśli z XMLem będziesz miał kłopot to zwykły TXT i czytanie go wiersz po wierszu.

Rejestr raczej nie nadaje się do zaśmiecania go aż tak obszernymi danymi jak drzewo ścieżek.
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: 10448
Dołączył(a): Cz 19.10.2006 08:31
Lokalizacja: Projekt autorski VBATools.pl


Powrót do Microsoft Outlook

Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 4 gości