2008-10-02 17 views
6

Uso Visual Basic y una interfaz de automatización para recuperar cadenas desde una aplicación externa. Estas cadenas contienen códigos simples de formato html (<b>, <i>, etc.). ¿Hay alguna función fácil en Visual Basic para Word para insertar estas cadenas en un documento de Word y convertir los códigos de formato html en formato de palabra?¿Cómo inserto cadenas con formato HTML en un documento de Microsoft Word utilizando Visual Basic mientras se preserva el formato?

Respuesta

0

AFAIK no hay una función integrada para hacer eso en VBA. Tendrá que escribirlo usted mismo, lo cual no sería demasiado difícil si lo vuelve a analizar para analizar el <b>, <i>, <a> and <p>, por ejemplo. Todas las otras etiquetas tendrían que ser ignoradas.

12

Aquí hay un enlace para agregar HTML al portapapeles utilizando VB:

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

Una vez que tenga el código HTML en el portapapeles, pegar en su documento de Word usando algo como esto:

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

Esto es más o menos el equivalente a cortarlo y pegarlo manualmente.

+0

gran ayuda !! dale a este chico una aceptación! –

1

Uso 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

¡GUAU! Simple y a prueba de balas. : D (Por supuesto que habrá algunos matices hacia el uso de% TEMP%, o algo así, y necesitamos alguna solución DumpToFile(), pero que está ampliamente disponible en la red). – MGM

Cuestiones relacionadas