Das Notes Forum
Domino 9 und frühere Versionen => ND6: Administration & Userprobleme => Thema gestartet von: michel63 am 12.09.08 - 10:12:03
-
Hallo und guten Morgen,
wie ihr sehen könnt bin ich neu hier :-)
und bevor ich jetzt gleich gesteinigt werde!! Ich habe mir schon 2 Std lang sämtliche Themen zu diesem Thema hier im Forum durchgelesen, aber keine Antwort gefunden.
Also meine Problem:
1. Ich habe von NoteProgrammierung keine Ahnung (dürfen wir auch nicht, bin nur Benutzter.
2. Ich muss jeden Tag einen Tagesbricht an eine Gruppe verschicken (#gruppe), das klappt prima Aus MS-Access.
3. Es ist ein Anhang aus Access erzeugt (als PDF, das habe ich auch hinbekommen.
4. Es muss meine Signatur unter dem Mail sein --- das klappt nicht. :-:
Die akt. Lotusversion ist 6.5.5
Ich habe schon div Codes ausprobieren. Aber mit keinem klappt es. :'(
Diesen hier benutze ich z.Z.
'XXXXXXXXXXXXXXXXXXXXXXX
' Mailen mit Lotus Notes
'XXXXXXXXXXXXXXXXXXXXXXX
' CC-Liste "eingeschaltet" am XX.03. und 22.03.05
Sub SendNotesMail(MailTo As String, CCListe As String, BCListe As String, MailText As String, MailAnhang As String, _
MailAbsender As String, MailBetreff As String, _
Optional Mailsenden As Boolean)
'
' Versenden einer E-Mail via Lotus Notes.
'
' IN: MailTo E-Mail Adresse des Empfängers
' CCListe Kopieempfänger
' BCListe Blindkopieempfänger
' MailText Text der Nachricht
' MailAnhang Dateianhang (Dateiname mit Pfad)
' MailAbsender Name des Absenders (wird an den Text angeängt)
' MailBetreff Betreffzeile der E-Mail
' MailSenden True wenn Nachricht versendet werden soll,
' False wenn Nachricht als Entwurf gespeichert werden soll
'
Dim rtitem As Object
Dim EmbeddedObject As Object
Dim SessionNotes As Object, NotesDB As Object, NotesDoc, NewNotesDocument As Object
Dim EmpfListe() As String
Dim EmpfCnt As Integer
Dim CCEmpfListe() As String
Dim CCEmpfCnt As Integer
Dim Pos1 As Long
Dim mailDB
Dim MProfile
Dim maildoc
'
' wenn die Betreffzeile leer ist, dann wird eine erzeugt
'
If Trim$(MailBetreff) = "" Then
MailBetreff = "Mail vom " & Date & " " & Time
End If
'
' Eigene Fehlerbehandlung
'
'On Error GoTo Err_Mail_Click
'
' An die laufende Lotus Notes Session anhängen
'
Set SessionNotes = CreateObject("Notes.NOTESSESSION")
'
' Notes Datenbank-Objekt erstellen und initialisieren
'
Set NotesDB = SessionNotes.GETDATABASE("", "")
NotesDB.OPENMAIL
If NotesDB.ISOPEN = False Then
MsgBox "Bitte melden Sie sich zunächst vollständig in Notes an!", vbInformation + vbOKOnly
Exit Sub
End If
'
' Empfängerliste erstellen
'
EmpfCnt = 0
Pos1 = InStr(MailTo, ";")
While Pos1 > 0
ReDim Preserve EmpfListe(EmpfCnt)
EmpfListe(EmpfCnt) = Left(MailTo, Pos1 - 1)
MailTo = Right(MailTo, Len(MailTo) - Pos1)
Pos1 = InStr(MailTo, ";")
EmpfCnt = EmpfCnt + 1
Wend
ReDim Preserve EmpfListe(EmpfCnt)
EmpfListe(EmpfCnt) = MailTo
'
' Kopieempfängerliste erstellen
'
CCEmpfCnt = 0
Pos1 = InStr(CCListe, ";")
While Pos1 > 0
ReDim Preserve CCEmpfListe(CCEmpfCnt)
CCEmpfListe(CCEmpfCnt) = Left(CCListe, Pos1 - 1)
CCListe = Right(CCListe, Len(CCListe) - Pos1)
Pos1 = InStr(CCListe, ";")
CCEmpfCnt = CCEmpfCnt + 1
Wend
ReDim Preserve CCEmpfListe(CCEmpfCnt)
CCEmpfListe(CCEmpfCnt) = CCListe
'
' Neues Notes-Dokument anlegen (Mail)
'
Set MProfile = NotesDB.GetProfileDocument("CalendarProfile")
Set NotesDoc = NotesDB.CREATEDOCUMENT
With NotesDoc
.Form = "Memo"
.Subject = MailBetreff
.sendto = EmpfListe
.CopyTo = CCEmpfListe ' Kopie an
.blindcopyto = BCListe 'Blindkopie an
.Body = MailText & vbCrLf & MailAbsender
.DefaultMailSaveOption = 0
'.MailSaveOption = 0
'.DeliveryReport = "B"
.Importance = "2"
'.logo = ""
.SAVEMESSAGEONSEND = False ' bei True wird ein Exemplar in Notes in Gesendet gestellt
.ReturnReceipt = "0" ' Empfangsbestätigung
.Sign = Empty
'.encrypt ="0"
.Principal = Session.Owner
'.viewicon ="74"
'.from = Session.Username
'.SaveOptions = 0
'.SecureMail = ""
'.SenderTag = "F"
'''''''''''''' Dateianhang'''''''''''''''''
If Trim$(MailAnhang) <> "" Then
Const embed_ATT = 1454
Set rtitem = .CREATERICHTEXTITEM(MailAnhang)
Set EmbeddedObject = rtitem.EMBEDOBJECT(embed_ATT, "", MailAnhang, MailAnhang)
End If
''''''''''''''''''''''''''''''''''''''''''
If Mailsenden Then
.SEND False
Else
Call .Save(True, True)
End If
End With
Set SessionNotes = Nothing
Set NotesDB = Nothing
Set NotesDoc = Nothing
Set rtitem = Nothing
Set EmbeddedObject = Nothing
Exit_Mail_Click:
Exit Sub
Err_Mail_Click:
MsgBox Err.Description
Resume Exit_Mail_Click
End Sub
-
Hallo und guten Morgen,
Willkommen im Forum.
1. Ich habe von NoteProgrammierung keine Ahnung (dürfen wir auch nicht, bin nur Benutzter.
Notes-Programmierung. ;)
4. Es muss meine Signatur unter dem Mail sein --- das klappt nicht. :-:
...
Aber mit keinem klappt es.
Definiere "klappt nicht".
Was ich im Code sehe ist, dass Du die Signatur weder aus dem Calenderprofildokument ausliest, noch an die Mail anhängst. Von allein passiert das nicht, nachdem Du Dich korrekterweise im Backend bewegst.
-
naja klappt nicht bedeute, es steht halt nich meine Signatur drunter die von unseren it-Service hinterlegt ist und auch gepflegt wird.
Bsp:
Mit freundlichen Grüßen
Michel63
Phone: xxxxx ..........
Adresse
Firma
Disclaimer....
Das es was mit dem Calenderprofile zu tun hat, habe ich schon irgendwo gelesen, da ich mit allerdings (wie gesagt) mit den Variablen und Feldern in Notes nicht auskenne, weiß ich nicht wo ich, was eintragen muss!! Was ist mit Backend gemeint?
Gruß
Michel
-
Servus Michel,
wie Martin schon schreibt, Du liest die Signatur nicht aus...
..das CalenderProfil nimmst Du bereits:
Set MProfile = NotesDB.GetProfileDocument("CalendarProfile")
...dann noch Deine Zuweisung erweitern:
.Body = MailText & vbCrLf & MailAbsender & vbCrLf & MProfile.Signatur_1(0)
Das ganze setzt voraus, das die Signatur als Text und nicht als Datei hinterlegt ist.
Probiers mal aus.
Grüße Tim
-
Hallo Tim,
ich habe jetzt
.....
Set Profile = NotesDB.GetProfileDocument("CalendarProfile")
Set NotesDoc = NotesDB.CREATEDOCUMENT
With NotesDoc
.Form = "Memo"
.Subject = MailBetreff
.sendto = EmpfListe
.CopyTo = CCEmpfListe ' Kopie an
.blindcopyto = BCListe 'Blindkopie an
.Body = MailText & vbCrLf & MailAbsender & Profile.Signatur_1(0)
.....
hier stehen,
bei .body... kommt jetzt aber ein Fehler"
"Laufzeitfehler 458"
Variable verwendet ein in VB nicht unterstützen Typ der Automatisierung"
Ich vermute auch, das die Signatur KEIN Text ist, da dort auch FETT geschriebene Wörter vorkommen. Es ist wohl eine HTML-Datei
Gruß
Michel
-
Servus Michel,
das kannst Du ganz einfach im Notes-Client unter WERKZEUGE-> VORGABEN-> Signatur
prüfen, was ist dort eingestellt?
Falls auf eine Datei verwiesen wird, kannst ja mal Testhalber Text reinsetzen, was passiert
dann, funtkioniert dann das Skirpt?
Grüße
Tim
-
Hallo Tim,
das geht leider nicht, ich darf meine Signatur nicht ändern.
Wir sind da sehr eingeschränkt!
Die Datei wird unter C:\util\notes gespeichert. Da könnte ich mit Word auch ändern, aber es ist eine HTML-Datei.
Gruß
Michel
-
Servus Michel,
verstehe, dann würde es um einiges schwiergier werden, da müßtest Du die HTML-Datei auslesen und ggf. in einen Text umsetzen damit die Signatur in Deinem Skript mit verwendet wird.
Dieses Programmierung würde dann ebenfalls im Access-Skript stattfinden.
Grüße Timmy
-
Hi Tim,
mir nützt nur der Text nichts,
Da auch verschiedene Stellen in Fett geschrieben sind, das kann ich ja im Access garnicht übergeben.
Es muss doch eine Möglichkeit geben ?????
Ich habe schon Code gefunden der Signatur anfügt, aber da habe ich Schwierigkeiten mit dem Anhang.
Gruß
-
Dann musst/kannst/solltest Du den Body der Mail als MIME entity erstellen, dann kannst den Inhalt der Signatur direkt einfügen, etc.. Siehe Designer-Hilfe zum Thema "Working with a MIME entity in LotusScript classes".
-
m3
oooha.
das habe ich mir eben mal angeschaut :-(
Da verstehe ich nur Bahnhof :-(
Ich gebe es auf! Mit Outlook wäre es wohl einfacher, aber wir müssen ja LN verwenden.
Es gibt noch einen Aufruf aus Access mit
DoCmd.SendObject acReport, "qry_report_Tagesausdruck", "SnapshotFormat(*.snp)", "#Tagesbericht", "", "", Me.Betreff, Sendetext, True, ""
Bei dem Aufruf wird auch ganz normal die Standardsignatur gezogen, aber leider kann ich dabei NUR snp Anängen.
Gruß
-
Keiner mehr eine Idee?
Warum der eine Aufruf (mit Access direkt klappt)
und mit dem "langen" Code und PDF nicht?
Ich helfe mir jetzt so, das ich dann im neuen Mail über Werkzeuge -> Signatur einfügen gehe" kann man das nicht noch mit den Code mitschicken?
Gruß
Michel
-
Ich gebe es auf! Mit Outlook wäre es wohl einfacher,
Nein.