Domino 9 und frühere Versionen > ND7: Administration & Userprobleme

Email

(1/4) > >>

champion:
Hallo liebe Lotus-Gemeinde,

ich bin neu hier und nur dienstlich mit Notes unterwegs, deshalb habe ich so meine Schwieirgkeiten mit der ganzen Thematik.

Aus Excel heraus erzeuge ich eine automatisierte Email, deren Text ich aber einfach nur so wieder geben kann. An einigen Stellen hier im Forum habe ich bereits gelesen, dass ich diese Email dann in ein "HTML"-Format versenden muss, wenn ich entsprechende Formatierungen vornehmen möchte. Leider sind das noch echt Böhmische Dörfer" für mich. An welchen Stellen muss ich meinen Code ändern, dass ich diese geplanten Formatierungen vornehmen kann.

Vorab herzlichen Dank für Eure Unterstützung.

Uwe

Anbei mein Code:
     
'Email versenden
                 
                 
    Sheets("Emailversand").Select
   
                     
    'Selektion der Email-Adresse
   
    Dim b As Integer
    Dim Kopie As String
    Dim Empfänger As String
   
    b = 0
   
    'Festlegung des CC Emailversand => über die Variable Kopie
           
    Kopie = "email-Empfänger 1 ; email-Empfänger 2 ; email-Empfänger 2"
   
    'Zusammenstellung der jeweiligen Email
     
    For b = 20 To 25 Step 1   'Wert muss 25 sein - dient zur Vereinfachung beim durchlaufen der Schleife zum Test
       
        If Cells(b, 5) <> 0 Then
       
           
        Empfänger = Cells(b, 20)
   
           
        'Emailversand über Lotus Notes
       
        Dim Maildb As Object, UserName As String, MailDbName As String
        Dim MailDoc As Object, Session As Object, vCopy As Variant
        Dim myArr As Variant, i As Long
        Set Session = CreateObject("Notes.NotesSession")
        UserName = Session.UserName
        MailDbName = Left$(UserName, 1) & Right$(UserName, _
        (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
             
        Set Maildb = Session.GetDatabase("", MailDbName)

        If Maildb.IsOpen = True Then
                Else: Maildb.OpenMail
        End If
     
       
        Set MailDoc = Maildb.CreateDocument
        'MailDoc.Form = "Memo"
        MailDoc.SendTo = Empfänger          'Empfänger Email => Inhalt wird aus Zelle Cells(b, 20) geliefert
        MailDoc.CopyTo = Split(Kopie, ";")  'Einbindung der CC Email
           
        'MailDoc.BlindCopyTo = "Emailadresse"   'BC Email
        MailDoc.Subject = "Telefonzeit - " & Cells(12, 3) & ", " & Cells(10, 3)
        MailDoc.Body = "Hallo " & Cells(b, 16) & "," & vbCrLf & _
                            vbCrLf & _
                        "Sie telefonieren heute in der Zeit von " & Cells(b, 10) & " Uhr bis " & Cells(b, 11) & " Uhr" & vbCrLf & _
                        "im Büro: " & Cells(b, 12) & " für das Thema: " & vbCrLf & _
                            vbCrLf & _
                        Cells(b, 5) & vbCrLf & _
                            vbCrLf & _
                        "Bitte beachten Sie dabei folgende Besonderheiten: " & Cells(b, 13) & vbCrLf & _
                            vbCrLf & _
                        "Eventuelle Änderungen aufgrund Personalverschiebungen" & vbCrLf & _
                        "werden Ihnen gesondert mitgeteilt." & vbCrLf & _
                            vbCrLf & _
                        "Bitte melden Sie sich sich rechtzeitig ab, damit Sie sich" & vbCrLf & _
                        "auf das zu behandelnde Thema vorbereiten können." & vbCrLf & _
                            vbCrLf & _
                        "Viel Spaß und Erfolg beim telefonieren!!!" & vbCrLf & _
                            vbCrLf & _
                        "Dobby!!!"
        MailDoc.SaveMessageOnSend = True
        MailDoc.PostedDate = Now
        On Error GoTo Audi
        Call MailDoc.Send(False)
        Set Maildb = Nothing:    Set MailDoc = Nothing:    Set Session = Nothing
        'Exit Sub
Audi:
        Set Maildb = Nothing:    Set MailDoc = Nothing:    Set Session = Nothing

DAU-in:
Vielleicht stehe ich gerade auf dem Schlauch:

das ist VB?

WildVirus:
Guten Tag,

wieder ein Namenloser der eine unbekannte Notesversion einsetzt  ;)

Das
--- Code: ---        MailDbName = Left$(UserName, 1) & Right$(UserName, _
        (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
             
        Set Maildb = Session.GetDatabase("", MailDbName)

        If Maildb.IsOpen = True Then
                Else: Maildb.OpenMail
        End If
--- Ende Code ---
ist gefährlich - was wenn einer einen Doppelnamen hat oder ein Adliger ist ? Wer nur nach einer Leerstelle sucht und meint, danach sinnvoll trennen zu können, hat m.E. keine Ahnung von Namen und deren Komplexität. Außerdem liegen anscheinend bei Euch die Mail-DBs im Root-Verzeichnis des Servers. Finde ich befremdlich.

Ein "van den Ende" würde Dein Script z.B. nicht verstehen. Außerdem ist MAILDB.OPENMAIL ausreichend. Notes kennt seine Mail-DB.

Du kannst auch ohne HTML eine optisch ansprechende Mail bauen, ich selbst habe noch nie HTML genutzt.

Meine Methode besteht in den Richtextstyles, die reichen mit Farbe, größe, Fett, etc. i.d.R. aus.

Die Frage
--- Zitat von: champion am 10.06.12 - 11:51:13 ---An welchen Stellen muss ich meinen Code ändern, dass ich diese geplanten Formatierungen vornehmen kann.

--- Ende Zitat ---
läßt sich nicht so einfach mit "hier" beantworten, da Du nicht angibst, was Du wie formatieren möchtest.

Ergo mehr Input, mehr Output.

Und noch mehr mit Namen.

VG,
Axel

champion:
Hallo zusammen,

hier noch ein paar weitere Infos, die mir aufgrund der ersten Infos Euch noch notwendig sind?!?!?!

@ Dau-In: Ja das ist VBA aus Excel heraus programmiert, bzw. aus einem Forum heraus übernommen.

@ WildVirus: Wie so Namenloser??? Benutzernamen = champion und in der Abschlusszeile habe ich Uwe geschrieben - sorry, bin das erste mal in diesem Forum unterwegs.

Beüglich der zuerst beschriebenen Sache habe ich den Code aus einem Forum übernommen und es funktioniert - auch die Personen mit Doppelnamen werden die Emails korrekt übertragen - die Zusammensetzung erfolgt in Excel und das klappt hervorragend.

Jetzt zur Formatierung: Ich möchte die als variablen deklarierten Infos z. B. fett, in Farbe, die Schriftgröße verändern.

Reichen diese Infos aus, bzw. was wird noch benötigt???

Bisher schonmal vielen Dank für Eure bisherigen Infos.

Viele Grüße
Uwe

WildVirus:
Hallo Uwe,

sorry, Deinen Namen habe ich vor dem Code glatt überlesen.

In Deinem Fall musst Du wirklich kein HTML verwenden, da reicht RichText aus.

Hier als Anfangsgerüst


--- Code: --- Dim richStyle As NotesRichTextStyle
Dim richStyleN As NotesRichTextStyle
Set richStyle = Session.CreateRichTextStyle
richStyle.NotesColor = COLOR_RED

Set richStyleN = Session.CreateRichTextStyle
richStyleN.NotesColor = COLOR_Dark_BLUE
Dim rtitem as NotesRichTextItem
Set rtitem = New NotesRichTextItem( memo, "Body")
Call rtitem.AppendStyle(richStyleN)
Call rtitem.AppendText(.......)
Call rtitem.AppendStyle(richStyle)
Call rtitem.AppendText(.......)
Call rtitem.AddNewLine(1)

--- Ende Code ---

Viel Erfolg.

VG,
Axel

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln