Domino 9 und frühere Versionen > ND7: Entwicklung
VBScript wird nach Öffnen von Notes nicht weiter ausgeführt.
El-Barto:
Hallo zusammen,
ich möchte aus einem VBScript ein Mail generieren. Wenn das Notes bereits geöffnet ist klappt das so wie ich es mir vorstelle.
Aber wenn ich die Notes-DB erst öffnen muss, dann wird das Mail nicht erstellt. Es hat den Anschein, daß nach dem Öffnen des Notes (was noch korrekt gemacht wird) das Script nicht weiter ausgeführt wird.
Wenn in dem Code-Ausschnitt der ELSE-Zweig durchlaufen wird, dann wird z.B. die MsgBox nach dem Öffnen nicht mehr angezeigt.
Hat jemand ne Idee was fehlen oder falsch sein könnte?
Danke & Gruss,
El-Barto
(Evtl. noch von Bedeutung: Das VBScript wird als AddOn von einer Standard-Software gerufen.)
--- Code: ---.
.
.
Set newSession = CreateObject("Notes.NotesSession")
set oCurrentMailDb = newSession.CurrentDatabase
If oCurrentMailDb.IsOpen = True Then
MsgBox ">>> Lotus Notes bereits offen ..."
Else
MsgBox ">>> Lotus Notes wird geöffnet ..."
oCurrentMailDb.OPENMAIL
End If
MsgBox "Nach dem Öffnen ..."
.
.
.
--- Ende Code ---
ata:
Hallole,
so weit ich das auf die schnelle sehe, gibt es bei geöffnetem Notes eine CurrentDatabase - bei zu öffnendem eben nicht. Du solltest die Datenbank undedingt sauber initialisieren. Du verwendest den Begriff "Lotus Notes" und "MailDB" in einem Zug als das gleiche. Dem ist nicht so - Lotus Notes ist der Client, in dem verschiedenste Datenbanken verwendet werden können. Die MailDB ist nur ein davon...
Toni
El-Barto:
Hallo Toni,
ja stimmt, ich habe "LotusNotes" gleich der "MailDB" gesetzt weil mich nur die interessiert ;D
Habe jetzt eine Lösung, die zumindest funktioniert (weiß aber nicht ob das die eleganteste Lösung ist):
--- Code: --- Set oSession = CreateObject("Notes.NotesSession")
strMailServer = oSession.GetEnvironmentString("MailServer",True)
strUserName = oSession.UserName
strMailDatabase = Left(strUserName, 1) & Right(strUserName, (Len(strUserName) - InStr(1, strUserName, ""))) & ".nsf"
Set oCurrentMailDb = oSession.getDatabase(strMailServer, strMailDatabase)
oCurrentMailDb.OPENMAIL
--- Ende Code ---
Danke für die schnelle Antwort!
El-Barto
koehlerbv:
Warum liest Du aus der NOTES.INI nicht MailFile aus - oder noch besser - verwendest die Methode NotesDBDirectory.OpenMailDatabase?
Dein Konstrukt ist mehr als unsicher - vorsichtig ausgedrückt.
Bernhard
WildVirus:
N'abend,
also ich habe noch nie einen Mailserver gesehen, wo die Maildbs im Root stehen ;)
Du solltest Dich wirklich mit den korrekten Methoden (siehe Posting von Bernhard) auseinandersetzen, sonst erleidest Du bestimmt beim zweiten Server Schiffbruch !
Und dann heißt es wieder "Notes ist schuld" ! Dass der wahre Übeltäter der hingefrickelte Aufruf von Notes ist, wird dabei bestimmt übersehen.
Du findest über die Forumssuche bestimmt genug Material dazu hier im Forum.
Viel Erfolg,
Axel
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln