Crear documentos de Word desde Visual Basic

Escrito por Mauro Rondinelli el Lunes 24 de Diciembre de 2001 a las 00:00hs

Mumbanet-google

Crearemos una aplicacion bajo Visual Basic que interactue con Microsoft Word, la idea basica es que desde una aplicacion desarrollada en VB6 podramos crear un documento en Word. Este tipo de implementaciones se llamaban hace un tiempo "Automatizacion OLE", ahora con la llegada de la tecnologia ActiveX este tipo de aplicaciones se paso a llamar COM.

Primero que nada debemos crear una referencia a la aplicacion Word, para esto vamos al menu Proyecto > Referencias y seleccionamos "Microsoft Word 9.0 Object Library".

Como siempre digo puede que tengas otra version, no lo he probado con otra version pero supuestamente no debe haber inconvenientes.

Ahora creamos el aspecto del formulario, para ello agregamos un TextBox y un CommandButton a los cuales les dejamos el nombre que les toca por defecto. Las unicas modificaciones que debemos realizar son:

En el control Text1...

  • Multiline = TRUE
  • ScrollBars = 2 - Vertical
  • Control CommandButton1
  • Caption = "Enviar a Word >>>"

Tambien se puede modifiar el tamaño del control Text1, lo ideal seria que el aspecto final del formulario sea este...

El Codigo

Private Sub Command1_Click()
Dim MSWord As New Word.Application
Dim Documento As Word.Document
Dim Parrafo As Paragraph


Set Documento = MSWord.Documents.Add
Set Parrafo = Documento.Paragraphs.Add

Parrafo.Range.InsertAfter Text1.Text

MSWord.Visible = True
End Sub


Explicando el codigo

Este codigo se ejecuta al hacer click en el CommandButton1, las primeras tres lineas de codigo definen las variables a utilizar, la primer varible "MSWord" nos servira para poder cargar Word y asi poder manejar todo lo que crearemos, la segunda variable "Documento" nos servira para crear el documento y por ultimo "Parrafo" sirve para poder agregar texto a nuestro documento.

Lo mas importante aqui es el metodo "InsertAfter" que lo que hace es insertar en nuetro documento el texto pasado como parametro (Text1.Text). Por ultimo con la linea "MSWord.Visible = TRUE" motramos la aplicacion Word y el nuevo documento creado.

Una cosa a tener en cuenta es lo que se denomina jerarquia de clases, en nuestro caso seria MSWord > Documento > Parrafo, bueno este fue un ejemplo mas o menos simple, seria bueno que ustedes se aventuren un poco mas y traten de agregarle mas funciones, haciendo click aqui se bajan el codigo fuente.


comentarios



  1. genial!



  2. Hola!

    No se si alguien me pueda ayudar, necesito enviar la información de una tabla de acess a un archivo de texto con programación en visual basic 6.Ojalá alguien me pueda ayudar y enviarme los datos a mi correo barm_sol@hotmail.com. Muchas gracias de antemano.



  3. hola amigos: estoy desarrolando un aplicativo de planillas en vb 6.0 y deseo exportar una tabla de una base de datos de sql a un archivo texto por favor si me envian el código a mi correo......gracias.......



  4. Hola ya tengo hecho el proyecto que me permite enviar caracteres a word pero lo que ahora nesecito es abrir un documento de word atravez de Visual Basic y poder observar su contenido o texto en un textbox o label me explicarias como hacer eso, ademas me podrias decir como abro o q son los archivos EIT



  5. Quisiera saber como puedo mandar llamar una pantalla de Word en VB.Net 2005



  6. Hola, necesito ayuda con algo similar a esto. Ya tengo hecho el código q me permite insertar datos en un tabla de un documento de word tipo ".dot", también uso marcadores para los datos del cliente en la cabecera de la carta, pero el problema es que no quiero que lo haga en la plantilla sino en un ".doc" nuevo y además que no lo haga para un cliente sino para varios. Me pueden ayudar?? Gracias!



  7. como realizo salto de paginas en word en vb 2005, ya pude insetar la hoja que necesito pero como escribo en esa hoja q inserto porque si se inserta pero como no puedo escribir sobre ello.
    un ejemplo .............si escribo en la primera hoja, inserto la segunda para escribir pero me deja me escribe hasta el principio de la tercera hoja, no se que hacer alguien puede ayudarme porfavor.



  8. hola quisiera saber como crear la pantalla de word en visual basic



  9. Hola quisiera que me ayudaran a ver la forma de al ingresar a Word aparesca en la pantalla:
    En la mañana: Buenos días
    En la tarde: Buenas Tardes
    En la Noche: Buenas Noches
    Y como como a de ser mediante un lenguaje de Visual Basic.
    Agradece que me lo envien a mi correo: minalovuz@hotmail.com. Por favor expliquenmenlo de una manera sencilla ya que recién voy en 1º ciclo...Gracias



  10. hola..estendi la explicacion, pero lo que yo necesito es abrir un archivo word ya existente desde visual. que cambios hago??donde agrego la cadena de direccion donde se encuentra la carpeta a donde quiero llegar?? gracias!!



  11. parece q no pudieron responder estas preguntas...... lastima



  12. hola necesito ayuda con visual basic necesito agregar documentos relacionados y no se como, si alguien me puede ayudar se lo agradesco,
    -----tengo un archivo en el bloc de notas con comandos y quiero agregarlo a Documentos relacionados -----



  13. Mi duda es que yo tengo un documento en Word y deseo enviarle datos desde mi formulario por medio de visual basic 6.0,



  14. Cordial Saludo:
    Necesito abrir un archivo desde microsoft word desde forms de oracle, ya tengo listo un boto y programe el disparador W_B_P, pero desconozco el comando. Gracias.



  15. hola me podrian explicar como abrir un documento de word en visual basic



  16. alguien me podria ayudar en como guardar un reporte de visual basic y luego buscarlo.



  17. tengo un problema con un programa de ciber cafe no se los codigos de como ordenar que en una biñeta de bisual basic me mande la informacon del cuadro de texto me mande a la tabla de excel



  18. Tengo un problema, por favor si me pueden enviar la respuesta a mi correo lo antes posible se lo agradecería mucho. Resulta que tengo una aplicación la cual genera un archivo de word en base a unos datos ingresados en un formulario. Para hacerlo la aplicación abre una plantilla .dot y le añade los datos. Todo resulta bien cuando lo hago en la compu donde lo he desarrollado pero no lo hace en otras máquinas aunque tenga la misma versión del Oficce (2003). Qué podría estar pasando y cuál sería la solución.



  19. muy buena la ayuda que diste pero tengo un problema queria utilizar este comando para enviar 2 o mas cuadros de texto capturados o bien campos de una bd que contiene texto a un documento word pero resulta que las pruebas que hice me manda las 2 cajas de texto en un solo parrafo. :s si me ayudaras o me dieras alguna idea de como separarlos te lo agradeceria.



  20. muy bueno este alcance para pasar texto a word a traves de vb6, gracias seguire profundizando el tema...



  21. ole
    necesito codigo para mandar una informacion de visual basic a excel.
    a tambien para q el usuario entre un dato y me quede almacenado en el codigo y no se desaparezca cuando cierre la aplicacion



  22. hola tengo un problema yo estoy trabajando con plantillas de word y hay veces que se quedan abiertas y me aparecen referencia WINWORD en al administrador de tareas, yo quiero cerrar todos los documentos que por uno u otro motivo se quedaropn abiertos para que puedan ser utilizados en otras oportunidades



  23. holaa pido una ayudita yo estoy trabajando con una macro en excel en el que genero una tabla y quiero mandar esa tabla a word. como lo hago?
    alguien que me ayude



  24. Sobre este tema me parece bien, pero el gran problema que tengo es a la hora de guardarlo, yo tengo una aplicacion donde creo automaticamente una factua con un archivo .doc como plantilla, donde tiene el anagrama, lineas, etc. de momento hago que se guarde abriendo el documento y tu manualmente le das a guardar como..... lo que quiero yo es intentar guardarlo como un nombre automaticamente sin tener que abrir el word, alguien puede comentarme este tema?, se que en excel esta el SaveAs pero en word no esta, agradecera cualquier informacion al respecto, gracias



  25. Me gusto mucho la pagina............los codigos funcionan correctamente............los felicito estan haciendo un buen trabajo



  26. A la hora de combinar correspondencia me gustaría que mi campo CODIGO me lo convierta a código128A. Para ello he creado una función “StrTo128A”, pero no se como implementarla en mi documento WORD para que funcione.
    Gracias.



  27. hola. Me gustaria que alguien me dijera como puedo imprimir un .doc desde visual basix



  28. como puedo crear documentos word en forms de oracle



  29. espero sigan informandod ela manera como lo hacen en este ejemplo, los felicito y por favor qiusiera un codigo en la que pueda llamr de un formulario a otro



  30. Muy buena ayuda son estos Tips, puesto que nos sirve para partir de ahi y hacer muchas, pero muchas pruebas.
    Gracias por tomarce la molestia de hacer publico estos textos y codigo.
    SALUDOS!!



  31. Excelente ayuda pra una aplicaciòn que necesito.
    Gracias.



  32. me parece una buena pagina.

    los felicito, espero que dia a dia sigan explicando cosas nuevas, para que nosotros los aprendices sepamos mas ymas.
    deantemano muchas gracias.
    pero lo que yo estaba buscando es como imprimir desde una base de datos (acces 97).
    todos los registros.

    gracias.

agregar comentario


Se permiten las etiquetas HTML <b>, <i> y <p>. Si ingresa alguna dirección web o dirección de email serán convertidos en enlaces automáticamente.





publicidad

API DE FACEBOOK
GOOGLE CALENDAR API
GOOGLE MAPS API