Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: ChristianS am 04.04.08 - 16:39:26

Titel: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: ChristianS am 04.04.08 - 16:39:26
Hallo,
ich habe über eure Seite heraus bekommen wie ich Mails über ein Access Formular verschicken kann das klappt auch alles sehr sehr gut.
Mein Problem besteht jetzt darin das ich nicht möchte das alle Mails im Gesendet Order bzw. im Entwurf Ordner gespeichert werden.

Ist es irgendwie möglich beim verschicken zusagen schau ob der Hauptordner "Gesendete Mails" da ist wenn nicht hinzufügen?
Und dann in diesem Ordner einen Unterordner mit dem Aktuellen Datum zu erstellen und darin alle Emails speichern die verschickt wurden?

schon mal vielen Dank im Voraus

Christian
Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: guesswho am 04.04.08 - 18:45:37
Hallo Christian,

"Gesendet" und "Entwürfe" sind keine Ordner, sondern Ansichten. Was dort angezeigt wird bestimmst nicht du und nicht der Benutzer. Das bestimmt einzig Notes bzw. die hinterlegte Auswahlformel.

Wenn gesendete Mails unter "Entwürfe" erscheinen, dann fehlt denen vermutlich das PostedDate.

Unter "Gesendet" kannst du keine Ordner erstellen.

Jo

***nerv* Meine Tastatttttttur spinnt grad ;D
Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: koehlerbv am 04.04.08 - 22:49:54
Nachtrag zu Jo's Anmerkungen:
Das mit den Ansichten (versus Ordner) musst Du beachten - das ist eine grundsätzliche Sache. Wenn gesendete Mails in der Ansicht "Entwürfe" erscheinen, hast Du da noch einen grossen Fehler hinsichtlich der Belegung der Items drin. Hilfreich ist hier immer, sich die Auswahlformel von betroffenen Ansichten anzuschauen.

Wenn Du Mails nach dem Senden in Ordner ablegen möchtest, geht das ganz einfach: Die Klasse NotesDocument bietet Dir die Methode PutInFolder. Du musst Dich dann nicht einmal darum kümmern, ob der Folder schon existiert.

Das gesendete Mails auch in der Ansicht "Gesendet" erscheinen, ist dann jedoch vollkommen normal und so gewollt. Du kannst zwar auch das verhindern, Du würdest damit aber mit Grundprinzipien von Notes brechen.

HTH,
Bernhard
Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: ChristianS am 05.04.08 - 10:06:04
Hallo
Entschuldigung, habe mich wohl ein bissi undeutlich ausgedrückt
also ich habe schon die Sache drin wegen dem speichern in der Entwurf und Gesendet - Ansicht, aber eben ausgestellt.
Es macht nämlich die Ansicht ungemein unübersichtlich wenn ca. 150-200 Mails raus gehen.

Deswegen ist es gewünscht, das man nur diese Mails eben in den einen Ordner packt.

OrdnerStruktur:
Wie oben beschrieben ein Hauptordner "Access Mails" und dann immer einen Unterordner erstellen mit dem jeweiligen Datum.
Im Unterordner dann alle gesendeten Mails speichern.

Aber schon mal vielen dank bemühe gleich mal Google mit dem Stichwort PutInFolder ;)


Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: WernerMo am 05.04.08 - 10:50:44
Hallo,

Aber schon mal vielen dank bemühe gleich mal Google mit dem Stichwort PutInFolder ;)

"Warum denn in die Ferne schweifen, ....?"

Steht doch alles wunderbar in der Designerhilfe sogar mit vielen Beispielen, was willst Du noch mehr?

Gruß Werner
Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: ChristianS am 05.04.08 - 11:40:11
Hallo

ich habe die Designerhilfe leider nicht :(
Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: Glombi am 05.04.08 - 11:42:42
Hallo

ich habe die Designerhilfe leider nicht :(
Die gibts auf den IBM Seiten:
http://www-128.ibm.com/developerworks/lotus/documentation/dominodesigner/

Andreas
Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: ChristianS am 05.04.08 - 14:58:14
ui das ist ja alles Englisch :(

könnte mir vielleicht wer ein bisschen Syntax geben ;) ?
Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: guesswho am 05.04.08 - 15:59:37
Zitat
ui das ist ja alles Englisch
jepp, und das bedeutet: ohne Übersetzungsfehler  ;D

Frag mal deinen Admin ob er dir nicht die Designer-Hilfe zur Verfügung stellen kannst, ich gehe mal davon aus, du hast auch keinen Notes-Designer ?!

Aus der Designer-Hilfe

Adds a document to the specified folder. If the folder does not exist in the document's database, it is created.

Defined in
NotesDocument

Syntax
Call notesDocument.PutInFolder( folderName$ [, createonfail ] )

Parameters
folderName$
String. The name of the folder in which to place the document. The folder may be personal if the script is running on the workstation. If the folder is within another folder, specify a path to it, separating folder names with backward slashes, for example, "Vehicles\Bikes".
createonfail
Boolean. Optional. Specify True so that a folder will be created if it does not exist.
Usage
If the document is already inside the folder you specify, PutInFolder does nothing. If you specify a path to a folder, and none of the folders exists, the method creates all of them for you. For example:
Call doc.PutInFolder( "Vehicles\Bikes" )
If neither Vehicles nor Bikes exists, PutInFolder creates both, placing the Bikes folder inside the Vehicles folder.
This method cannot add the first document to a folder that is "Shared, Personal on first use."

Examples: PutInFolder method
1.   This script puts a document in the folder Jambalaya.
Dim doc As NotesDocument
'...set value of doc...
Call doc.PutInFolder( "Jambalaya" )
  2.   This script puts a document in the folder Spicy, which is located inside the folder Recipes.
Dim doc As NotesDocument
'...set value of doc...
Call doc.PutInFolder( "Recipes\Spicy" )
  3.   This script puts a document in the private folder called Greens.
Dim doc As NotesDocument
'...set value of doc...
Call doc.PutInFolder( "Greens" )
  4.   This script performs a full-text search in the current database and places the top twenty matching documents in a folder called Spicy. If the folder does not exist, one will be created.
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set dc = db.FTSearch("cayenne",20)
Set doc = dc.GetFirstDocument
While Not(doc Is Nothing)
  Call doc.PutInFolder("Spicy",True)
  Set doc = dc.GetNextDocument(doc)
Wend
  5.   This script selects all the documents within a document collection that contain the field "Conflict", and moves them to a folder.
Dim s As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Set db = s.CurrentDatabase
Set dc = db.AllDocuments
Set doc = dc.GetFirstDocument
While Not(doc Is Nothing)
     If doc.IsResponse Then
        If doc.HasItem("$Conflict") Then
           Call doc.PutInFolder("Conflicts")
        End If
     End If
     Set doc = dc.GetNextDocument(doc)
Wend


datt jibbet halt nich in deutsch...

Siehs postitiv: KEINE Übersetzungsfehler !

Aber die Designer-Hilfe könnte dir wirklich helfen, falls du öfter in Richtung Notes programmierst....

Jo
Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: guesswho am 05.04.08 - 16:12:31
Adobe Acrobat Reader in deutscher Doku heisst deshalb: Lehmziegel Zauberkünstler Leser...  ;)
Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: ChristianS am 05.04.08 - 16:48:37
naja wir sind ein kleines Unternehmen aber mit hohen Ansprüchen haben diese Desinger Geschichte nicht

Naja ich versuch am Dienstag mal ein bisschen zu probieren falls jemand doch noch ein paar beispiele findet bin ich gerne offen :)

aber schon ma großes Lob an euch :)

komme aber am Dienstag wenn ich wieder Arbeite bestimmt weiter kann es leider hier nicht testen



EDIT: Hab mir grad ma den Code durch gelesen komme damit bestimmt am Dienstag weiter :)
Vielen Vielen dank nochma für die wirklich schnelle hilfe :)
UND das an einem Wochenende :) DAUMEN HOCH
Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: ChristianS am 08.04.08 - 15:43:22
hmmmm leider klappt das ganze doch nicht so richtig

also mit

Call NotesDoc.PutInFolder("Access-Mails\" & order, True)
aber er stellt die Dokumente nicht rein also speichert nix
und der Ordner wird erst sichbar wenn man Notes schließt und wieder aufmacht

kann mir da jemand weiter helfen?

Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: ata am 08.04.08 - 15:49:10
... Ordner müssen bereits angelegt sein, um Dokumente dahin verschieben zu können...

Toni
Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: koehlerbv am 08.04.08 - 16:01:19
Stimmt nicht, Toni:
Zitat
If you specify a path to a folder, and none of the folders exists, the method creates all of them for you.

Das neu angelegte Folder erst nach erneutem Öffnen der DB sichtbar werden, ist aber korrekt - derartige Informationen werden gecached.
Was noch schief läuft, dass zwar einerseits Folder angelegt werden, aber die Dokumente darin nicht erscheinen, kann man aus der Ferne nur schwer beurteilen. Ich würde den Code besser mit dem Designer entwickeln und testen und erst danach nach VBA übernehmen. So bleibt das ein ewiges Gestochere.

Bernhard
Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: ChristianS am 08.04.08 - 16:23:01
hmmm das mit dem Designer geht nicht da wird den leider nicht haben

aber die Ordner kommen ja muss ja "nur" gesagt werden speichere sie darin ab
Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: koehlerbv am 08.04.08 - 16:25:16
Wenn Ihr Euch den Designer nicht leisten könnt (Ihr müsst aber arm sein ...), dann wirst Du auch nicht alles erreichen können.

Und: Gespeichert werden muss da gar nichts. Das gesendete Mail: Natürlich. Aber das PutInFolder erledigt selbst alles, was an Informationen erforderlich ist, damit ein Dokument in einem Folder dargestellt wird.

Bernhard
Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: ChristianS am 08.04.08 - 16:39:14
Ja und wie speichere ich die Gesende Mail nun im den Ordner ab?
Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: koehlerbv am 08.04.08 - 16:51:49
Call NotesDocument.Save (True, False, True)
Call NotesDocument.PutInFolder (...)

Aber das steht doch alles in der DesignerHelp und wird dort auch in den Beispielen gezeigt ...

Bernhard
Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: ChristianS am 08.04.08 - 17:08:11
Vielen Vielen Dank

aber für was sind diese drei Parameter weil seltsamerweise wird der Absendername nicht angezeit sondern nur Betreff, Uhrzeit un das ein Anhang dabei ist


PS Ich sagte ja bereits das ich die Designer-Hilfe nicht habe.
Titel: Re: VBA Access gesendete Mails in einen neu Anlegten Ordner speichern
Beitrag von: koehlerbv am 08.04.08 - 17:13:16
Schau doch bitte in die Doku zum Designer. Der Link wurde Dir doch bereits gepostet. Und der ist kostenlos ...

Bernhard