Collapse column

Autor Thema: Ersetzen mehrerer Placeholder in einem Text über VBA  (Gelesen 455 mal)

Offline alad

  • Newbie
  • *
  • Beiträge: 7
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2016
Ersetzen mehrerer Placeholder in einem Text über VBA
« am: Oktober 22, 2018, 08:28:25 Vormittag »
Hallo zusammen,

folgendes Problem:

In meinem E-Mail Text möchte ich [@Bestellung] und [@Name] ersetzen durch zugewiesene Strings.

Das Problem ist nun das ich es nur schaffe immer eins der beiden zu ersetzen.

sTemplate = Sheets("Text").Shapes(1).TextFrame2.TextRange.Text
    '</ HMTL holen >
   
    '----< Send with Outlook >----
    Dim app_Outlook As Outlook.Application
    Set app_Outlook = New Outlook.Application
   
    '--< Email einstellen >--
    Dim objEmail As Outlook.MailItem
   
    Dim sName_Ansprech As String
    Dim sBestellung As String
    Dim sEmail_Address As String
   
   
    Dim iRow As Integer
    For iRow = 4 To 100
        If Cells(iRow, 3) = "x" Then
           
            sBestellung = Cells(iRow, 8)
            sName_Ansprech = Cells(iRow, 9)
            sEmail_Address = Cells(iRow, 2)
           
            '< Fill Placeholders >
           
            Dim sHTML As String
            sHTML = Replace(sTemplate, "[@Bestellung]", sBestellung)
            sHTML = Replace(sTemplate, "[@Name]", sName_Ansprech)
           
   

           
            '</ Fill Placeholders >
           
            '--< Send Email >--
            Set objEmail = app_Outlook.CreateItem(olMailItem)
            objEmail.To = sEmail_Address
            objEmail.Subject = sTitle
            'objEmail.HTMLBody = sHTML  '*use .HTMLBody for HTML
            objEmail.Body = sHTML       '*and .body for pure Text
            objEmail.Display False
            objEmail.Send
            '--</ Send Email >--
                   
           
        End If
    Next
       
   
   
    '< Abschluss >
    Set objEmail = Nothing
    Set app_Outlook = Nothing
    '</ Abschluss >
   
    MsgBox "Emails erstellt", vbInformation, "Fertig"
   
    '----</ Send with Outlook >----
    '-------------</ Send_Email() >-------------
End Sub

Das ganze sieht aktuell im Text so aus.

Hallo [@Name] ,

ich möchte Sie an die unten Aufgeführte/n Bestellung/en erinneren.

[@Bestellung]
               

MFG

Hans Hinterspu

Leider wird hier nur der Name bzw Bestellung ersetzt, was kann ich hier tun damit ich beide Placeholder ersetzte und diese in meinen E-Mail Text habe?

Danke im Voraus.

Im Anhang findet ihr die Datei.


Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline maninweb

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1.063
    • Profil anzeigen
    • Excel Formula Translator
  • Office-KnowHow: Experte
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2016
Antw: Ersetzen mehrerer Placeholder in einem Text über VBA
« Antwort #1 am: Oktober 22, 2018, 08:56:31 Vormittag »
Hallo,

statt sHTML = Replace(sTemplate, "[@Name]", sName_Ansprech) dann sHTML = Replace(sHTML , "[@Name]", sName_Ansprech) nehmen.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) from 01/2011 - 06/2019
https://de.excel-translator.de :: Online Excel-Formel-Übersetzer :: Alle Übersetzungen der Excel Funktionen & Fehlerwerte

Offline alad

  • Newbie
  • *
  • Beiträge: 7
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2016
Antw: Ersetzen mehrerer Placeholder in einem Text über VBA
« Antwort #2 am: Oktober 22, 2018, 09:00:19 Vormittag »
Super, vielen Dank. Dachte das wird schwieriger.

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.