Avatar billede thokarl Nybegynder
20. marts 2001 - 17:18 Der er 8 kommentarer og
1 løsning

VBA: Kontaktpersoner fra outlook

Hvordan kan jeg få alle mine kotaktpersoner (fra en bestemt folder) vist i en listbox? Mine foldere er allerede vist i en ComboBox. Skal benyttes i VBA/MS Word 2K og oplysningerne skal tages fra MS Outlook 2K
Avatar billede nerøs Nybegynder
20. marts 2001 - 19:43 #1
Måske noget i retning af:

Sub test2()

  Dim myolapp        As Outlook.Application
  Dim myNameSpace    As NameSpace
  Dim myFolder      As MAPIFolder
  Dim Kont          As ContactItem

  Set myolapp = CreateObject(\"Outlook.Application\")
  Set myNameSpace = myolapp.GetNamespace(\"MAPI\")
  Set myFolder = myNameSpace.Folders(1).Folders(\"test\")

    For Each Kont In myFolder.Items
      Debug.Print Kont.FullName
      \'Debug.Print Kont.Class
    Next Kont

  Set myolapp = Nothing
  Set myNameSpace = Nothing
  Set myFolder = Nothing
End Sub

Hvor test er kontaktfolderen som er undermappe til rodfolderen
Avatar billede thokarl Nybegynder
20. marts 2001 - 20:50 #2
jeg prøver lige....
Avatar billede thokarl Nybegynder
20. marts 2001 - 21:05 #3
Leder den ikke kun i mine private kontakter? Hvodan får jeg den til at lede i alle kontakter? Jeg vedsender koden:


----------------------------------------------

    Dim MyFolder As MAPIFolder
    Dim MyNameSpace As NameSpace
    Dim OlApp As Outlook.Application
    \' Initierer Outlook
    On Error Resume Next
    Set MyOutlook = GetObject(, \"Outlook.Application\")
    If Err.Number <> 0 Then
        Err.Clear
        Set MyOutlook = New Outlook.Application
        If Err.Number <> 0 Then
            MsgBox \"Kunne ikke få adgang til Outlook.\" & vbNewLine & \"Kontakt din system ansvarlige\", vbCritical, \"Fejl\"
            Unload frmVent
            End
        End If
    End If
    On Error GoTo 0

Set OlApp = CreateObject(\"Outlook.Application\")
Set MyNameSpace = OlApp.GetNamespace(\"MAPI\")


For A = 1 To MyNameSpace.AddressLists.Count
Set UserAddressFolder = MyNameSpace.AddressLists(A)
If CStr(frmMain.comAdressList.List(frmMain.comAdressList.ListIndex)) = CStr(UserAddressFolder) Then
  Set MyFolder = MyNameSpace.Folders(1).Folders(UserAddressFolder)
  OpretBrugerListe MyFolder
  End If
Next A
Avatar billede thokarl Nybegynder
20. marts 2001 - 21:07 #4
Jeg vil bare gerne have at jeg kan få en pegepind til en folder jeg allerede har en streng verdi på... Kan det lade sig gøre?
Avatar billede nerøs Nybegynder
20. marts 2001 - 22:32 #5
Du skal kende hele stien, feks:
Set myFolder = myNameSpace.Folders(Folder1).Folders(underfolder).folders(underfolder)

Folder1 skal vel være en public folder...

Angående din kode: Du tester først om der er en der en outlook åben (MyOutlook) og elles åbner du en ny.
Herefter åbner du endnu en (Olapp). Du skal vel fortsætte med at bruge MyOutlook.

frmMain.comAdressList.List(frmMain.comAdressList.ListIndex)):
Det er nok at skrive:
frmMain.comAdressList.List.Value.

Grunden til at du kun kigger i private, tror jeg du finder i
Set MyFolder = MyNameSpace.Folders(1).Folders(UserAddressFolder) , hvor 1 netop er indexet for private foldere.
Hvad med at kigge lidt på koden der fylder din frmMain.comAdressList?

Håber dette kan hjælpe lidt. Prøv eller evt at sende mig filen.

VH søren
 

   
Avatar billede thokarl Nybegynder
21. marts 2001 - 02:50 #6
Har du en EMail adresse?
Avatar billede thokarl Nybegynder
21. marts 2001 - 02:51 #7
Hvad gør jeg foresten hvis jeg ikke har hele stien?
Avatar billede nerøs Nybegynder
21. marts 2001 - 17:22 #8
Kan du ikke se hele stien i koden der fylder comadresslist.list?

email : neros85@hotmail.com
Avatar billede thokarl Nybegynder
21. marts 2001 - 22:35 #9
Hvis du gidder at kigge på det, så har jeg sendt dig normal.dot...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester