2017-10-10 2 views
0

Ich entwickle ein Skript zum Formatieren einer Outlook-Vorlage und senden Sie es durch Klicken auf eine Schaltfläche. Das Hauptziel ist die Verwendung von Single Line Spacing und 0pt bei After/Before Spacing und das Konvertieren aller Inhaltssteuerelemente (z. B. ComboBoxes) meiner Vorlage in Text/String.Convert Content Control-Wert in Zeichenfolge mit VBA

Sub FormatAndSend() 
    Dim CurrentMessage As Outlook.MailItem 

    If TypeName(Application.ActiveWindow) = "Inspector" Then 
     Set CurrentMessage = Application.ActiveWindow.CurrentItem 

     If CurrentMessage.To = "" Then 
      If CurrentMessage.CC = "" Then 
       If CurrentMessage.BCC = "" Then Exit Sub 
      End If 
     End If 

     CurrentMessage.HTMLBody = Replace(CurrentMessage.HTMLBody, vbCr, vbCrLf) 
     'Workaround to Remove Line Spacing (not working) 
     '& 
     'Convert Content Control selected values to String ... 

     CurrentMessage.Send 

     Set CurrentMessage = Nothing 
    End If 
End Sub 

Gibt es eine einfachere Möglichkeit, die vorhandene Vorlage zu formatieren? Ich habe bereits mehrere Dinge ausprobiert, wie zum Beispiel Ersetzen durch ASCII-Zeichen, HTML-Elemente, Schlüsselwörter, ...

Ist es auch möglich, Content Control ausgewählte Werte in normalen Text zu konvertieren?

+0

Ok, also wie planen Sie, eine Combobox "in Text" umzuwandeln? Was genau meinst du damit, und welchen Code hast du geschrieben, und wo und wie funktioniert es nicht so wie es sollte? –

+0

Ich meine, konvertieren Sie den Combobox ausgewählten Wert, wenn jemand die Nachricht weiterleitet/antwortet, kann der Inhalt nicht geändert werden – mafap

+0

Ich bin nicht vertraut mit dem Outlook-Objektmodell, aber ein kurzer Blick auf die 'MailItem'-Klasse zeigt, dass es nicht tut Es scheint keine 'Controls'-Sammlung zu sein, daher scheint die Analyse des' HtmlBody' am besten zu sein. –

Antwort

0

Ich habe es geschafft, mein Problem zu lösen, indem ich regex verwendete, um die OOXML-Elemente zu entfernen und die CSS-Eigenschaften zu ändern.