Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: KnightofPassion am 24.11.05 - 11:45:47
-
Ein freudiges Hallo an alle Notes Entwickler,
benötige Euere Hilfe und Rat. Ich möchte das folgende Script umstellen. Sicherlich nur eine Kleinigkeit.
Der Agent macht folgendes:
Liest im Adressbuch des Server alle Email-Adressen aus, fordert zur Eingabe der Speicherdatei auf und schreibt dann die Email-Adressen im Datei-System in ein TXT File.
Möchte das Umbauen auf folgendes:
Die Aufforderung zur Eingabe des Speicherorts + Dateinamen soll entfallen. Möchte gerne das der Agent hartcodiert am Server immer in das selbe TXT die Mails einträgt.
Damit ich den Agenten Nachts laufen lassen kann und er mir die aktuellen Mailadressen zusammen-sammelt.
Wie müßte das Script aussehen, bzw. was muß ich ändern?! Ich bin ein Greenhorn was Entwicklung und Scripten angeht. Ich hab mich schon etwas versucht, aber es kamen nur Fehler dabei raus...
Hier das Script:
Sub Initialize
Dim s As New NotesSession
Dim currentdb As NotesDatabase
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim view As NotesView
Dim iFile As Integer
Dim pfad As String
Dim var As Variant
Dim adressbook(2) As String
adressbook(0) = "names.nsf"
Set currentdb = s.CurrentDatabase
pfad = Inputbox("Wo soll die Datei erstellt werden? Kompletten Pfad angeben")
'erstelle file
iFile = Freefile()
Open pfad For Output As iFile
Forall a In adressbook
Set db = s.GetDatabase(currentdb.Server,a)
Set view = db.GetView("People")
Set doc = view.GetFirstDocument
While Not doc Is Nothing
var = doc.InternetAddress
Forall i In var
If Not i = "" Then
Print #iFile,i
End If
End Forall
Set doc = view.GetNextDocument(doc)
Wend
Set db = Nothing
Set view = Nothing
End Forall
-
Sieh doch mal in der Hilfe unter "Output & File" nach.
-
Danke für den Tip, hilft mir allerdings sehr wenig, da ich die Script-Sprache nicht verstehe. Wie gesagt, ich bin Greenhorn und hatte bisher keine Schulung im Bereich Entwicklung. Kann mir jemand helfen?
-
Dann hast Du da wenig Chancen. Was machst Du, wenn ein Fehler auftritt ?
-
Hi,
nichts einfacher als das.
...
Set currentdb = s.CurrentDatabase
pfad = "C:\Mail\Mail.txt"
'erstelle file
iFile = Freefile()
Open pfad For Output As iFile
Forall a In adressbook
...
So sollte das funktionieren. Was aber noch fehlt in das Error-Handling. Das ist gerade bei Datei - Operationen zwingend notwendig. Hier im Forum gibt es ein gute und verständliche Abhandlung zum Thema Error-Handling. Schau mal hier: Best Practices: Error Handling in Lotus Script (http://www.atnotes.de/index.php?board=3;action=display;threadid=11980;start=0)
Ansonsten auch von mir den Rat, bevor du bestehende Anwendungen anpassen willst befasse dich unbedingt mit den Grundlagen der Script-Programmierung. Anders wird das nichts. Bei der erst besten Fehlermeldung stehst du wieder auf dem Schlauch. Besorge dir entsprechende Literatur und/oder besuche Kurse.
Axel
-
Liest im Adressbuch des Server alle Email-Adressen aus, fordert zur Eingabe der Speicherdatei auf und schreibt dann die Email-Adressen im Datei-System in ein TXT File.
Möchte das Umbauen auf folgendes:
Die Aufforderung zur Eingabe des Speicherorts + Dateinamen soll entfallen. Möchte gerne das der Agent hartcodiert am Server immer in das selbe TXT die Mails einträgt.
Damit ich den Agenten Nachts laufen lassen kann und er mir die aktuellen Mailadressen zusammen-sammelt.
Noch was, du musst auch sicherstellen, die entsprechenden Rechte auf das hardcodierte Verzeichnis vorhanden sind.
Axel