Frage

Ich habe ein Projekt geerbt, die grundlegende HTML-Formatierung speichert (das heißt - <b>, <i> Tags) in einer Datenbank und schreibt sie in ein Word-Dokument aus. Dies ist meine erste Wort Automatisierungs Zuordnung, so sanft sein!

Zur Zeit gibt es eine komplizierte Funktion, die ausgeführt wird, nachdem das Dokument vollständig ist, die durchsucht und ersetzt diese Tags. Da dies jedoch nach dem Dokument ausgeführt wird, abgeschlossen ist, jede Logik, die zur Laufzeit bestimmt wird (das heißt - Seitenumbruch einfügen hier) zu katastrophalen Ergebnissen führen kann. Zum Beispiel, wenn ich einen großen Teil bolded Textes habe, nimmt dieser fett gedruckten Text mehr Platz und schiebt die Zeile zur nächsten Seite brechen, in einer meist leeren Seite führt.

Ich glaube, die Lösung für dies ist, den Text zu formatieren, wie es aus der Datenbank kommt, so dass die Positionierlogik korrekt. Ich will nicht mehrmals das komplizierte Verfahren nennen, da es zeitaufwendig und unsere Endkunden müssen dieses Dokument so schnell wie möglich.

Gibt es eine einfache Möglichkeit, HTML-formatierten Text in ein Word-Dokument zu schreiben, ohne dass jeden unterstützten Tag zu finden und zu ersetzen? Ich würde denken, dass es etwas in Word wäre, dass dies automatisch umgehen konnte. Vielen Dank im Voraus, wenn Sie mich in die richtige Richtung zeigen kann.

War es hilfreich?

Lösung

Versuchen Sie folgendes:

Zuerst speichern Sie die HTML Sie sind als gewöhnliche „HTM“ Datei einzufügen.

Dann das Range-Objekt verwenden und es ist Insert Methode einfügen die „HTM“ Datei an jeder beliebigen Stelle:

Dim r As Range

Set r = ActiveDocument.Range
r.InsertFile FileName:=TempFilePath, Link:=False, ConfirmConversions:=False

Wort sollte klug genug sein, um die HTML zu handhaben und tun all die Formatumwandlung auf seine eigene. Verwenden Sie CSS zu steuern, um die feineren Teile der Formatierung.

Löschen Sie die "HTM" Datei, wenn Sie fertig.

Andere Tipps

Vielleicht können Sie ein eingebettetes IE (IWebBrowser2) aufrufen, um den Text, Layout, dann kopieren als rich in die Zwischenablage kopieren und schließlich in Word als RichText- einfügen (formatiert).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top