2008-10-02 6 views
6

J'utilise Visual Basic et une interface d'automatisation pour extraire des chaînes d'une application externe. Ces chaînes contiennent des codes de formatage html simples (<b>, <i>, etc.). Existe-t-il une fonction facile dans Visual Basic pour Word pour insérer ces chaînes dans un document Word et convertir les codes de mise en forme html en format de mot? AFAIK il n'y a aucune fonction intégrée pour faire cela dans VBA.Comment insérer des chaînes au format HTML dans un document Microsoft Word à l'aide de Visual Basic tout en préservant la mise en forme?

Répondre

0

Vous devrez l'écrire vous-même, ce qui ne serait pas trop difficile si vous le restituiez pour analyser par exemple <b>, <i>, <a> and <p>,. Tous les autres tags devraient être ignorés.

12

Voici un lien pour ajouter HTML dans le presse-papiers en utilisant VB:

http://support.microsoft.com/kb/274326

Une fois que vous avez le code HTML dans le presse papier, collez-le dans votre document Word en utilisant quelque chose comme ceci:

ActiveDocument.Range.PasteSpecial ,,,,WdPasteDataType.wdPasteHTML 

C'est à peu près l'équivalent de vous le couper et le coller manuellement.

+0

grande aide !! donne à ce mec une acceptation! –

1

Utilisez InsertFile

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! Simple et à l'épreuve des balles. : D (Bien sûr, il y aura des nuances dans l'utilisation de% TEMP%, ou quelque chose, et nous avons besoin d'une solution DumpToFile(), mais qui est largement disponible sur le Net.) – MGM

Questions connexes