Autor Thema: VBScript wird nach Öffnen von Notes nicht weiter ausgeführt.  (Gelesen 3428 mal)

Offline El-Barto

  • Frischling
  • *
  • Beiträge: 5
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 ..." 

.
.
.

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
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
Grüßle Toni :)

Offline El-Barto

  • Frischling
  • *
  • Beiträge: 5
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 

Danke für die schnelle Antwort!


El-Barto

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
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

Offline WildVirus

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 658
  • Geschlecht: Männlich
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

Offline El-Barto

  • Frischling
  • *
  • Beiträge: 5
Hallo Bernhard,

aus dem was ich hier im Forum gefunden habe, nehme ich an Du meinst ich soll das:
 
Code
    
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 

durch das

Code
Set notesdir = oSession.GetDbDirectory("")
Set oCurrentMailDb = notesdir.OpenMailDatabase 

ersetzen, oder?

Das funktioniert bei mir aber nicht ...


Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Dann nimm die ini-Variable "MailFile", wie Bernhard auch schon geschrieben hat, denn aus der ini holst Du ja auch schon erfolgreich den Server

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Vorhin hiess es noch newSession, jetzt oSession.

Weiters: Der Unterschied zwischen OLE und COM ist Dir klar?

Bernhard

PS: Solange Du hier nur "El-Barto" heisst, kannst Du zu mir gerne Herr Köhler oder Onkel sagen, aber "Bernhard" funktioniert nur bei identischen Spielregeln.

Offline tron55

  • Aktives Mitglied
  • ***
  • Beiträge: 227
PS: Solange Du hier nur "El-Barto" heisst, kannst Du zu mir gerne Herr Köhler oder Onkel sagen, aber "Bernhard" funktioniert nur bei identischen Spielregeln.

El Bernhardo wäre fair und gibt dir was gefährliches ;D

Offline WildVirus

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 658
  • Geschlecht: Männlich
El Bernhardo wäre fair und gibt dir was gefährliches ;D

AdminP-Request weitergeleitet  ;D

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz