Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Abfragefeld in Textnachricht

Begonnen von Berlin-Lackierung.de, August 16, 2016, 15:16:35

⏪ vorheriges - nächstes ⏩

Berlin-Lackierung.de

Ich hab ein kleines (vielleicht banales) Problem.
Ich habe eine Outlook - Textnachricht per VBA eingebunden und möchte den Text mit einem Textfeld erweitern. Jedoch sollte das Textfeld entfernt werden, wenn dieses nicht ausgefüllt wird.

sTxt = InputBox("Ergänzung zum Angebot", "Erfassung")

NachrichtenText = "<span style=""font-size:11pt; font-family:'Calibri'"">" & _
                [Anrede] & "</p>" & _
                "vielen Dank für Ihre Anfrage.<br></br>" & vbCrLf & _
                "Als Anlage erhalten Sie das von Ihnen gewünschte Angebot.<br></br><br></br> " & vbCrLf & _
              [sTxt] & vbCrLf & _
                "Wir hoffen wir haben Ihnen ein interessantes Angebot unterbreitet.<br></br>" & vbCrLf & _

Irgendwie stehe ich dabei auf dem Schlauch (oder stelle mich doof an ::) )
,,Bei einem Fußballspiel verkompliziert sich alles durch die Anwesenheit der gegnerischen Mannschaft." - Jean Paul Sartre

el_gomero

Hallo,

leider ist der Code nur bruchstückhaft und mir ist auch nicht klar wie die Outlook-Nachricht angesteuert wird. Poste doch mal den ganzen Code dazu, incl Prozedurkopf und -fuß.

Davon abgesehen würde ich dir empfehlen die Eingaben nicht über eine Inputbox, sondern über ungebundene Felder im Formular entgegen zu nehmen.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

MaggieMay

Hallo,
Zitat von: Berlin-Lackierung.de am August 16, 2016, 15:16:35Jedoch sollte das Textfeld entfernt werden, wenn dieses nicht ausgefüllt wird.
zeige oder beschreibe doch bitte, was genau du nicht in der Ausgabenachricht haben möchtest, wenn die Eingabe leer ist.
Freundliche Grüße
MaggieMay

Berlin-Lackierung.de

Sorry für die bruchhafte Aussagen - bin neu hier ;) Es geht darum, dass ich in eine "Standarttext" - Mail nochmals eine "freie" Information einfügen möchte, bevor diese versendet wird. Was ja soweit klappt, jedoch wenn das Feld leer bleibt, steht dennoch der "Absatz" im Mail-Text, was gegenüber unseren Kunden "doof" aussieht.

Hier der Code (sieht ein wenig unübersichtlich aus...)


    Dim NachrichtenText As String
    Dim myMail      As Outlook.MailItem
    Dim myOutlApp   As Outlook.Application
'   Dim sTxt As String
 
Set myOutlApp = New Outlook.Application
Set myMail = myOutlApp.CreateItem(olMailItem)

sTxt = InputBox("Ergänzung zum Angebot", "Erfassung")
    NachrichtenText = "<span style=""font-size:11pt; font-family:'Calibri'"">" & _
                [Anrede] & "</p>" & _
                "vielen Dank für Ihre Anfrage.<br></br>" & vbCrLf & _
                "Als Anlage erhalten Sie das von Ihnen gewünschte Angebot.<br></br><br></br> " & vbCrLf & _
               [sTxt] & vbCrLf & _
"Wir hoffen wir haben Ihnen ein interessantes Angebot unterbreitet.<br></br>" & vbCrLf & _
                "Für Rückfragen stehen wir Ihnen gerne jederzeit zur Verfügung.<br></br>" & vbCrLf & _
               [sTxt] & vbCrLf & _

                "<span style=""font-size:8pt;font-weight:normal; font-family:'Calibri'"">"
    With myMail
   
        .To = AnEMail
       
        .CC = ""
       
        .Subject = BezugAngebot & " _ AngNr.: " & [AngNummer]
       
        .HTMLBody = NachrichtenText & " <br> " & " <br> " & Signatur_zurückgeben & "</HTML>"

        .Attachments.Add "C:\AngeboteKunden\" & [Text55] & "\AngebotMail_" & [AngNummer] & "_" & [Bemerkung_Angebot] & ".pdf"
        .Attachments.Add "C:\AngeboteKunden\AllgGeschäftsbed.pdf"
        .Importance = 2
       
       myMail.Display ' .Send
     
    End With
   
    End Sub
,,Bei einem Fußballspiel verkompliziert sich alles durch die Anwesenheit der gegnerischen Mannschaft." - Jean Paul Sartre

Lachtaube

Grüße von der (⌒▽⌒)

el_gomero

Moin,

bist du sicher, dass der Wert der Inputbox mehrfach im Nachrichtentext eingebaut wird?

Davon ausgehend kannst du folgendes probieren, geht sicher eleganter, aber auf die Schnelle ;)



    Dim NachrichtenText As String
    Dim myMail      As Outlook.MailItem
    Dim myOutlApp   As Outlook.Application
'   Dim sTxt As String
 
Set myOutlApp = New Outlook.Application
Set myMail = myOutlApp.CreateItem(olMailItem)

sTxt = InputBox("Ergänzung zum Angebot", "Erfassung")
If nz(sTxt,"") Then
NachrichtenText = "<span style=""font-size:11pt; font-family:'Calibri'"">" & _
[Anrede] & "</p>" & _
"vielen Dank für Ihre Anfrage.<br></br>" & vbCrLf & _
"Als Anlage erhalten Sie das von Ihnen gewünschte Angebot.<br></br><br></br> " & vbCrLf & _
"Wir hoffen wir haben Ihnen ein interessantes Angebot unterbreitet.<br></br>" & vbCrLf & _
"Für Rückfragen stehen wir Ihnen gerne jederzeit zur Verfügung.<br></br>" & vbCrLf & _
"<span style=""font-size:8pt;font-weight:normal; font-family:'Calibri'"">"
Else
NachrichtenText = "<span style=""font-size:11pt; font-family:'Calibri'"">" & _
[Anrede] & "</p>" & _
"vielen Dank für Ihre Anfrage.<br></br>" & vbCrLf & _
"Als Anlage erhalten Sie das von Ihnen gewünschte Angebot.<br></br><br></br> " & vbCrLf & _
[sTxt] & vbCrLf & _
"Wir hoffen wir haben Ihnen ein interessantes Angebot unterbreitet.<br></br>" & vbCrLf & _
"Für Rückfragen stehen wir Ihnen gerne jederzeit zur Verfügung.<br></br>" & vbCrLf & _
[sTxt] & vbCrLf & _
"<span style=""font-size:8pt;font-weight:normal; font-family:'Calibri'"">"
End If

With myMail
   
        .To = AnEMail
       
        .CC = ""
       
        .Subject = BezugAngebot & " _ AngNr.: " & [AngNummer]
       
        .HTMLBody = NachrichtenText & " <br> " & " <br> " & Signatur_zurückgeben & "</HTML>"

        .Attachments.Add "C:\AngeboteKunden\" & [Text55] & "\AngebotMail_" & [AngNummer] & "_" & [Bemerkung_Angebot] & ".pdf"
        .Attachments.Add "C:\AngeboteKunden\AllgGeschäftsbed.pdf"
        .Importance = 2
       
       myMail.Display ' .Send
     
    End With
   
    End Sub
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

MzKlMu

Hallo,
und ganz nebenbei, der Zusatztext gehört auch in eine Tabelle, sonst ist er ja nicht mehr nachvollziehbar (außer auf dem Mail).
Und wenn man feststellt, dass das Mail inhaltlich nicht stimmte müsste man auch den Zusatztext wieder neu eingeben.
Gruß Klaus

Berlin-Lackierung.de

#7
Super - Danke an alle... Warum bin ich nicht selbst darauf gekommen?

Jedoch sieht die "Prüfung" nachher dann so aus: If Nz(sTxt, "") = "" Then

Zitat von: MzKlMu am August 17, 2016, 10:24:59
Hallo,
und ganz nebenbei, der Zusatztext gehört auch in eine Tabelle, sonst ist er ja nicht mehr nachvollziehbar (außer auf dem Mail).
Und wenn man feststellt, dass das Mail inhaltlich nicht stimmte müsste man auch den Zusatztext wieder neu eingeben.

Ja, ich weiß dass der Zusatztext auch in eine Tabelle gehören sollte, jedoch ist dieser nicht entscheidend für eine Rückverfolgbarkeit (oder ausschlaggebend für das Angebot) sondern nur als Information gedacht.
,,Bei einem Fußballspiel verkompliziert sich alles durch die Anwesenheit der gegnerischen Mannschaft." - Jean Paul Sartre