Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: asiat am Januar 08, 2011, 12:02:44

Titel: Access Kontakte in Outlook Speichern ?
Beitrag von: asiat am Januar 08, 2011, 12:02:44

Hallo

ich habe hie eine Prozedur was ein kontak in Outlook Ordner Kontakte speichert.       
Ich möchte aber in ein bestimmten Ordner speichern, wie macht man das  ?


'DATENSATZ IN OUTLOOK SPEICHERN
            Dim MyOutlook As Outlook.Application
            Dim KontaktOutlook As Outlook.ContactItem
            Set MyOutlook = CreateObject("Outlook.Application")
            Set KontaktOutlook = MyOutlook.CreateItem(olContactItem)
            With KontaktOutlook
                .FirstName = "Mark"
                .LastName = "Mustermann"
                .Save
            End With
            Set KontaktOutlook = Nothing
            Set MyOutlook = Nothing

Diese Prozedur habe ich im Internet gefunden, kann mir vielleicht jemand erklären warum man am ende
Set KontaktOutlook = Nothing
Set MyOutlook = Nothing
alles auf nothink setzen muss.
Titel: Re: Access Kontakte in Outlook Speichern ?
Beitrag von: database am Januar 08, 2011, 12:24:51
Hallo,

zu Kontakten und Adressbüchern in Outlook lies bitte mal hier nach:
http://www.msxfaq.de/konzepte/kontakte.htm (http://www.msxfaq.de/konzepte/kontakte.htm)

Vielleicht hilft dir diese Info weiter.

Zitatalles auf nothink setzen

Du hast mit dem Schlüsselwort SET neue Objekte erstellt.
Diese Objekte bleiben so lange im Speicher erhalten bis sie mit SET Objekt = NOTHING zerstört und der Speicher wieder freigegeben wird.

HTH

Titel: Re: Access Kontakte in Outlook Speichern ?
Beitrag von: asiat am Januar 08, 2011, 15:19:03
danke für deine erklärung und den link, leider kann ich mit dem link nichts anfangen weil meine VBA kenntnisse glech 0 sind.
Ich kann  höstens kleinen fertigen  quelltext wie oben  an meine db anpassen, deswegen hoffe ich mir das mir hier geholfen wird.
Titel: Re: Access Kontakte in Outlook Speichern ?
Beitrag von: database am Januar 08, 2011, 16:10:24
Hallo,

ZitatIch möchte aber in ein bestimmten Ordner speichern
Meinst du damit, dass du im Standard-Kontaktordner einen Unterordner erstellt hast?

Dann musst du diesen Ordner zum Beschreiben ansprechen. Der Code in deinem Beitrag schreibt ins Standardadressbuch.

Wenn du von VBA keine Ahnung hast, kann ICH dir leider nicht weiterhelfen.
Auf Outlook zuzugreifen und da etwas zu bewerkstelligen ist für meine Begriffe doch etwas zu komplex als das schnell so nebenbei hinzutippseln.

Titel: Re: Access Kontakte in Outlook Speichern ?
Beitrag von: asiat am Januar 08, 2011, 16:52:53
 :(
schade.
ich dachte nur es reicht nur bei meinem kode zu sagen wohin er das speichern soll, nehmlich in unterordner vom standartordner genau wie du das gemeint hast.
Titel: Re: Access Kontakte in Outlook Speichern ?
Beitrag von: database am Januar 08, 2011, 20:54:36
Nix schade  ;)

Hier ein Schnippsel, das du z.B. ins Click-Ereignis eines Button KOPIEREN kannst.
Beim Klicken auf den Button wird im Unterordner (DeinOrdnername, den du in deinen Outlook-Kontakten vergeben hast)
ein Kontakteintrag mit dem Namen angelegt, der in den Feldern txtVorname und txtNachname des Eingabeformulars eingtragen wurde.

Das Schnippsel ist im angehängten Beispiel enthalten.


Private Sub cmdCreate_Click()

   Dim oAppl As Outlook.Application
   Dim oNS As Outlook.NameSpace
   Dim oMAPIFolder As Outlook.MAPIFolder
   Dim oContact As Outlook.ContactItem
   Dim strSpezialordner As String
   '----------------------------------
   'Definiert deinen speziellen Ordner
   strSpezialordner = "DeinOrdnername"    'DeinOrdnername durch den Namen ersetzen, den du in den Outlook-Kontakten als Unterordner vergeben hast
   '----------------------------------
   On Error GoTo errHandle
   
   If Not IsNull(Me.txtVorname) And Not IsNull(Me.txtNachname) Then
       
       Set oAppl = CreateObject("Outlook.Application")
       Set oNS = oAppl.GetNamespace("MAPI")
       'Den speziellen Ordner zum Beschreiben vorbeitreiten
       Set oMAPIFolder = oNS.GetDefaultFolder(olFolderContacts).Folders(strSpezialordner)
   
       'Kontakteintrag hinzufügen
       Set oContact = oMAPIFolder.Items.Add
       
       With oContact
           .LastName = Me!txtNachname
           .FirstName = Me!txtVorname
           .Save
       End With
       
       Me!txtNachname = Null
       Me!txtVorname = Null
       
   Else
   
       MsgBox "Es wurden nicht alle erforderlichen Eingaben gemacht!"
       Exit Sub
       
   End If

exitHere:
   Set oContact = Nothing
   Set oMAPIFolder = Nothing
   Set oNS = Nothing
   Set oAppl = Nothing

   Exit Sub
   
errHandle:
   MsgBox "Es ist ein Fehler beim Zugriff auf Outlook aufgetreten! """
   Resume exitHere
   
End Sub


Nicht zu vergessen, den Verweis auf die aktuelle Outlook-Library setzen!


[Anhang gelöscht durch Administrator]
Titel: Re: Access Kontakte in Outlook Speichern ?
Beitrag von: asiat am Januar 08, 2011, 21:36:40
 ;D ;D ;D
database du bist echt ein Access Guru ...lebende Access wiki..danke ..vielen dank..ich habe fast ganzen tag danach gegoogelt aber nichts konnte ich an meine db anpassen..
vielen dank für deine Mühe...PERFEKT  !!!! ;D ;D ;D