Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
972to976
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Lotus Notes: Mail erstellen und drucken
29.04.2008 16:24:00
Frank
Hallo,
ich möchte gerne ein Lotus-Notes-Mail über Excel-VBA generieren, senden und ausdrucken. Die Übergabe an Lotus und der Versand funktioniert sehr gut, ein entsprechendes Skript konnte ich im Internet finden. Allerdings finde ich nicht, wie diese versendete Mail automatisch ausgedruckt werden kann.
Der Ablauf ist wie folgt:
User gibt in Excel Daten ein.
Durch CommandButton startet Sub SendNotesMail mit den vorhandenen Argumenten
Mail wird automatisch erstellt, versendet und soll dann ausgedruckt werden.
Der User erhält eine Meldung über die Durchführung.
Eine einfache Lösung wie MailDoc.print funktioniert leider nicht (wär ja auch zu schön gewesen)
Hier der Programmteil:

Public Sub SendNotesMail(wn As String, preis As Long, bez As String) 'Set up the _
objects required for Automation into lotus notes
Dim Maildb As Object 'The mail database
Dim UserName As String 'The current users notes name
Dim MailDbName As String 'THe current users notes mail database name
Dim MailDoc As Object 'The mail document itself
Dim session As Variant 'The notes session
Dim Betreff As String
Dim Text1 As String
Dim text2 As String
Dim text3 As String
Dim text4 As String
Dim text5 As String
Dim text6 As String
Dim text7 As String
UserForm1.Show 'Auswahl des Empfängers, Abbruch liefert empfaenger = "Stop"
If empfaenger = "Stop" Then
MsgBox "Neuanlage wurde NICHT an MTBD-CRE mitgeteilt."
Exit Sub
End If
Betreff = "Neuanlage " & wn
Text1 = "Sehr geehrte Damen und Herren, " & vbCrLf & vbCrLf
text2 = "bitte anlegen:" & vbCrLf
text3 = "       " & wn & vbCrLf
text4 = "       " & bez & vbCrLf
text5 = "       Preis: " & Format(preis, "##,##0.00" & " EUR") & vbCrLf
text6 = "anlegen." & vbCrLf & vbCrLf
text7 = Text1 & text2 & text3 & text4 & text5 & text6 & vbCrLf & "Mit freundlichen Grüßen"
'Start a session to notes
Set session = CreateObject("Notes.NotesSession")
'Get the sessions username and then calculate the mail file name
'You may or may not need this as for MailDBname with some systems you
'can pass an empty string
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) &  _
_
_
".nsf"
'Open the mail database in notes
Set Maildb = session.GetDatabase("", MailDbName)
If Maildb.IsOpen = True Then
'Already open for mail
Else
Maildb.OPENMAIL
End If
'Set up the new mail document
Set MailDoc = Maildb.CREATEDOCUMENT '


Kennt jemand eine Lösung? Muß ich ein weiteres Object (z. B. NOTESUIDOCUMENT) öffnen? Wenn ja, wie finde ich dann das eben erstellt Memo-Dokument? ?
Vorab schon mal vielen Dank für Euer Interesse.
VG Frank

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Lotus Notes: Mail erstellen und drucken
05.05.2008 10:32:41
Bertram
Hallo Frank,
versuch's mal so:

Sub MailDrucken()
Dim session As Object
Dim db As Object
Dim doc As Object
Dim Workspace As Object
Dim uidoc As Object
Set session = CreateObject("Notes.NotesSession")
Set db = session.GetDatabase("", "")
If db.IsOpen = False Then db.OPENMAIL
Set doc = db.CreateDocument
With doc
.form = "Memo"
.SendTo = "DeinEmpfänger@WoAuchImmer.de"
.Subject = "Das ist ein Test"
.Sign = "0"
.SaveMessageOnSend = True
.PostedDate = Now()
End With
'Mail in LN anzeigen, ausdrucken und senden
Set Workspace = CreateObject("Notes.NotesUIWorkspace")
Set uidoc = Workspace.EDITDOCUMENT(True, doc)
With uidoc
.FIELDSETTEXT "Body", "Das ist ein Test"
.PRINT (1)
.Send
.Close
End With
Set uidoc = Nothing
Set Workspace = Nothing
Set db = Nothing
Set doc = Nothing
Set session = Nothing
End Sub


Gruß
Bertram

Anzeige
AW: Lotus Notes: Mail erstellen und drucken
14.05.2008 14:27:40
Frank
Hallo Bertram,
vielen Dank für deinen Lösungsvorschlag. Einen ähnlichen hatte ich bereits versucht. Unsere Abteilung arbeitet mit Citrix-Server-System und jetzt ist folgendes passiert: auf meinem Desktop funktioniert die Lösung problemlos. Auf den gleichen Desktops meiner zwei Kollegen schreibt Excel den gesamten Text in die Bezugszeile. Außerdem wechselte Excel zu Lotus und danach nicht mehr nach Excel zurück. Das konnte ich aber mit div. Sendkeys laienhaft lösen.
Deine Lösung nutzt das UserInterface, ist also so, als ob der Anwender selbst die Mail schreibt, druckt und versendet (Front-End-Klassen).
Mein anhängendes Skript generiert direkt innerhalb in Lotus den Mailversand (Back-End-Klassen). Hier hab ich inzwischen gefunden, dass bei Back-End-Klassen die Druckfunktion einfach nicht unterstützt wird. Diese Variante ist schneller, etwas sicherer und funktioniert auch bei den anderen Desktops (außer bei meinem Chef).
Da ich keine Lösung finden konnte haben wir nun unseren Arbeitsprozess etwas umgestellt und die Ausdrucke entfallen lassen. Eigentlich keine elegante Lösung.
Vielen Dank für Deine Bemühungen.
Gruß Frank
Anzeige

132 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige