Domino 9 und frühere Versionen > ND6: Entwicklung

Export aus Excel, Schriftart im Mail-Body

<< < (2/4) > >>

m3:
Lieber kaosqlco, falls Du keine Zeit/Lust/... hast, Dich in VBA/LotusScript einzuarbeiten, stehen Dir sicherlich einige Forumsteilnehmer (darunter auch gerne ich) gegen einen enstprechenden Stundensatz zur Verfügung, damit wir Dir Deine gewünschten Features implementieren.

Ansonsten stelle konkretere Fragen als "Ich bitte um Unterstützung", dann wird Dir hier sicherlich auch weiterhin kostenlos geholfen.

Hast Du z.B. schon mal die Forumssuche benutzt? Zum Thema "Kommunikation Notes<->Excel" gibts bereits einige interessante Freds.

Weiters wäre mal gut, wenn du schrieben könntest, ob es sich um ein internes Notes-Mail oder eine SMTP.Mail handelt - das bringt auch einige Unterschiede.

kaosqlco:
Liebe Martin, lieber Toni,

erstmal danke für Eure schnellen Antworten.
Martin hat recht, mit "Ich bitte um Unterstützung" habe ich mich - gerade als 'Frischling' etwas im Ton vergriffen und vielleicht auch nicht konkret genug gefragt; `tschuldigung.

In meiner Firma wird LotusNotes lediglich als MailClient genutzt. Dahingehend bin ich normaler Anwender und kann hier m.E. nichts mit LotusScript machen, nicht mal schauen welche Objekte und Methoden es gibt.
Letztendlich geht es mir nur darum, die Daten, die in einer Excel-Tabelle vorliegen, in einer Notes-Mail einigermaßen ansprechend darzustellen. Das mit der gesperrten Schrift war mein erster Gedanke, html-Formatierung ist aber auch eine Idee. - Die Notes-Mail soll als internes Notes-Mail verschickt werden.
Über Google-Suche bin ich auf Euer Forum gestoßen und hier auch schon gesucht. - Den passenden Ansatz habe ich leider noch nicht gefunden, ich suche und lese aber weiter.

Konkrete Fragen:
Mit welchen Methoden kann ich die Schriftart/Schriftgrösse des RichTextItem ändern?
Wie binde ich html ein? Reicht es, einfach html-Tags in den Body der Mail zu übergeben oder gibt es hier auch besondere Objekte und Methoden?

Gruß Jan

m3:
OK, Du solltest Dir mal von der IBM-HP die Designer-Hilfe herunterladen, falls Du die noch nicht hast. Dort findest Du alles, was Du hinsichtlich Infos zu Notes-Objekten und Methoden brauchst.

Unter http://www.fabalou.com/VBandVBA/lotusnotesmail.asp findest Du ein Beispiel, wie Du mit VBA ein Notes-Mail erstellst.

Details zum NotesRichTextItem findest Du unter diesem Stichwort in der Designer-Hilfe.

kaosqlco:
Hallo Martin,

die Designer-Hilfe habe ich mir schon besorgt. Mangels Admin-Rechten unter Notes und einer Entwicklungsumgebung kann ich vieles aber nicht umsetzen und bin auf Try and Error angewiesen.
Bei meiner Suche im I-Net bin ich dann aber auf ein VB-Beispiel zu meinem Thema gestossen und etwas angepaßt sieht das als Funktion dann so aus:


--- Code: ---Function SendNotesMail(strMessage As String, _
    strSubject As String, _
    strSendTo As String, _
    strAttachment As String, _
    Optional bolSenden As Boolean = True)
   
    On Error GoTo NotesMail_Err
   
    Dim lnSession As Object
    Dim lnDatabase As Object
    Dim lnDocument As Object
    Dim lnRTStyle As Object
    Dim lnRTItem As Object
    Dim lnATTACHMENT As Object
    Dim sMessage As String
   
    ' Session starten
    Set lnSession = CreateObject("Notes.Notessession")
   
    ' Create a new Style
    Set lnRTStyle = lnSession.CreateRichTextStyle
   
    ' Verbindung zur Datenbank
    Set lnDatabase = lnSession.GetDatabase("", "")
    lnDatabase.OpenMail
   
    ' Neues Dokument
    Set lnDocument = lnDatabase.CreateDocument
   
    ' Neues NotesRichTextItem erstellen, Body im RichText formatieren
    Set lnRTItem = lnDocument.CreateRichTextItem("Body")

    ' Anhang
    If strAttachment <> "" Then Set lnATTACHMENT = lnRTItem.EMBEDOBJECT(1454, "", strAttachment, "Sample")
   
    ' Nachricht
    sMessage = "Mail gesendet: " & Date & " " & Time & vbCrLf & vbCrLf & strMessage & vbTab & "test" & vbCrLf & _
        "Das ist ein Test" & vbTab & "test"
   
    ' Nachricht formatieren
    lnRTStyle.NotesFont = 4     ' Courier
    lnRTStyle.Bold = True       ' Fett
    lnRTStyle.NotesColor = 2    ' Rot
    lnRTStyle.FontSize = 20     ' 20
   
    Call lnRTItem.AppendStyle(lnRTStyle)
    Call lnRTItem.AppendText(sMessage)
   
    ' Formatierungen / Texte
    With lnDocument
       
        .Form = "Memo"
        .ReplaceItemValue "SendTo", strSendTo
        .ReplaceItemValue "Subject", strSubject
       
        ' Senden / Gesendet anzeigen oder als Entwurf speichern
        If bolSenden = True Then
            .SAVEMESSAGEONSEND = True
            .Send False
        Else
            Call .Save(True, False)
        End If
    End With
   
    Set lnRTItem = Nothing
    Set lnRTStyle = Nothing
    Set lnDocument = Nothing
    Set lnDatabase = Nothing
    Set lnSession = Nothing
   
    If bolSenden = True Then MsgBox "Mail wurde gesendet!", vbInformation Else MsgBox "Mail wurde gespeichert!", vbInformation
       
    Exit Function

NotesMail_Err:
    MsgBox Err.Description, vbExclamation, "Fehler! (" & Trim$(Str$(Err)) & ")"
End Function


--- Ende Code ---


Damit funktioniert das Einfügen von Text in den Body einer Mail, wobei Schriftart, -farbe, -größe etc. beeinflußt werden können.
Als nächstes interessiert mich aber (quasi als Alternative), wie ich html-Code in den Body der Mail schreiben kann und ihn nachher auch noch als html-Code angezeigt bekomme.

Gibt es hierzu spezielle Methoden?

Gruß Jan

kaosqlco:
Hallo Forum,

im Internet (www.planet-source-code.com) habe ich diesen Ansatz gefunden (bezogen auf obigen Code):

--- Code: ---Call lnDocument.GOTOFIELD("Body")
Call lnDocument.IMPORT("HTML", "c:\temp.html")

--- Ende Code ---
Das funktioniert aber leider beides nicht, auch wenn ich .GOTOFIELD weglasse. Ich bekomme einen Laufzeitfehler 438, 'Object unterstützt Eigenschaft oder Methode nicht'.

'Zu Fuss' - über Datei / Importieren - kann ich aber durchaus diese html-Datei einfügen. Wie könnte das per VB-Code gehen?

Danke und Gruß, Jan

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln