Ich verwende Visual Basic und eine Automatisierungsschnittstelle, um Zeichenfolgen von einer externen Anwendung abzurufen. Diese Zeichenfolgen enthalten einfache HTML-Formatierungscodes (<b>, <i> usw.). Gibt es eine einfache Funktion in Visual Basic für Word, diese Zeichenfolgen in ein Worddokument einzufügen und die HTML-Formatierungscodes in Wortformatierung zu konvertieren?Wie füge ich HTML-Formatierte Zeichenfolgen in einem Microsoft Word-Dokument ein, das Visual Basic bei dem Beibehalten von Formatierung verwendet?
Antwort
AFAIK gibt es keine eingebaute Funktion, die das in VBA macht. Sie müssen es selbst schreiben, was nicht zu schwierig wäre, wenn Sie es zum Beispiel erneut parsen, um <b>, <i>, <a> and <p>,
zu analysieren. Alle anderen Tags müssten ignoriert werden.
Hier ist ein Link HTML in die Zwischenablage mit VB hinzuzufügen:
http://support.microsoft.com/kb/274326
Sobald Sie den HTML-Code in die Zwischenablage haben, fügen Sie ihn in Ihr Word-Dokument so etwas wie dies mit:
ActiveDocument.Range.PasteSpecial ,,,,WdPasteDataType.wdPasteHTML
Dies entspricht in etwa dem manuellen Schneiden und Einfügen.
Verwenden Insert
Set objdoc = objInsp.WordEditor
Set objword = objdoc.Application
Set objsel = objword.Selection
objsel.WholeStory
vs_html = "<html><body>" + vs_body + "</body></html>"
vs_file = "C:\temp\1.html"
Call DumptoFile(vs_file, "", vs_html, False)
RetVal = objsel.InsertFile(vs_file, , , False, False)
WOW! Einfach und kugelsicher. : D (Natürlich wird es einige Nuancen geben,% TEMP% oder so etwas zu verwenden, und wir brauchen eine DumpToFile() Lösung, aber das ist im Netz weit verbreitet.) – MGM
Große Hilfe !! gib diesem Kerl ein Akzeptieren! –