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.
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
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.
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.
:(
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.
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]
;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