2008-10-02 20 views
6

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

0

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.

12

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.

+0

Große Hilfe !! gib diesem Kerl ein Akzeptieren! –

1

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) 
+0

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