Escrito por Mauro Rondinelli el Lunes 24 de Diciembre de 2001 a las 00:00hs
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...
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.
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.
Excelente ayuda pra una aplicaciòn que necesito.
Gracias.
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!!
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
como puedo crear documentos word en forms de oracle
hola. Me gustaria que alguien me dijera como puedo imprimir un .doc desde visual basix
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.
Me gusto mucho la pagina............los codigos funcionan correctamente............los felicito estan haciendo un buen trabajo
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
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
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
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
muy bueno este alcance para pasar texto a word a traves de vb6, gracias seguire profundizando el tema...
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.
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.
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
alguien me podria ayudar en como guardar un reporte de visual basic y luego buscarlo.
hola me podrian explicar como abrir un documento de word en visual basic