Home :: Web :: net :: Crear un Documento MSWord con C#
 
Creando-Documento-en-MSWord-con-C#

Crear un Documento MSWord con C#

may 20, 2010 en net,Productividad por Victor Parasi

Cansado de realizar tu reportes en un archivo de texto? si ya te cansaste de que tu aplicación interactúe con NotePad, entonces este post es para tí

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Al ser MS Word, uno de los procesadores de texto más usados, Visual Studio permite interactuar con MS Word, de forma que podamos crear y escribir un reporte utilizando esta aplicación.

Antes de empezar a analizar el código, diremos que Visual Studio 2008, permite crear proyectos del tipo Office; es decir, ya viene preparado para crear aplicaciones (Add-ins) no sólo con MS Word, sino con MS Excel, MS Outlook, de una forma bastante sencilla, pero no voy a usar esa opción.

Lo que voy a hacer es mediante un proyecto ClassLibrary, interactuar con el Assembly (Interop) que me permite trabajar con MS Word, como si fuera una clase mas. Este Assembly viene con Visual Studio 2008, pero si por alguna razón no lo tienes, te dejo este link: http://msdn.microsoft.com/es-es/library/15s06t57(VS.80).aspx

Bueno, empezaremos creando un proyecto del tipo ClassLibrary al cual le voy a agregar la siguiente referencia: Microsoft.Office.Interop.Word. Para MS Office 2007, la versión de este Assembly es la 12.0, para MS Office 2003, es la 11.0.

Luego que ya esta creado el proyecto ClassLibrary y hemos añadido la referencia antes indicada, debes de agregar este línea en el código de nuestra clase.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Word = Microsoft.Office.Interop.Word; //Agrega esta línea

Agregada la línea anterior, voy colocar un método a la clase del ClassLibrary, de forma que podamos: crear una instancia de una aplicación MSWord, agregarle un Documento para poder escribir y luego insertar texto en el documento.

Te dejo el código:

public class Reporte
{

        public void EscribirenunDocumentoWord()
        {
            //Objeto del Tipo Word Application
            Word.Application objWordApplication;
            //Objeto del Tipo Word Document
            Word.Document objWordDocument;
            // Objeto para interactuar con el Interop
            Object oMissing = System.Reflection.Missing.Value;

            //Creamos una instancia de una Aplicación Word.
            objWordApplication = new Word.Application();
            //A la aplicación Word, le añadimos un documento.
            objWordDocument = objWordApplication.Documents.Add(ref oMissing,
                                                             ref oMissing,
                                                             ref oMissing,ref oMissing );

            //Activamos el documento recien creado, de forma que podamos escribir en el
            objWordDocument.Activate();
            //Empezamos a escribir
            objWordApplication.Selection.TypeText("Este es un ejemplo desarrollado por ");
            objWordApplication.Selection.TypeText("COPSTONE, esperamos que sea útil y ");
            objWordApplication.Selection.TypeText(" que te ayude a crear nuevas y  ");
            objWordApplication.Selection.TypeText("mejores aplicaciones. ");
            //Indicamos que el texto anterior es parte de un párrafo.
            objWordApplication.Selection.TypeParagraph();

            //Ahora veamos como cambiar el tipo y tamaño de la letra

            objWordApplication.Selection.Font.Name="Arial" ; //Cambiamos el nombre
            objWordApplication.Selection.Font.Size= 19; //Cambiamos el tamaño
            //Alinearemos el texto que vamos a escribir al centro
            objWordApplication.Selection.ParagraphFormat.Alignment=
               Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter ;
            //Agregamos al texto
            objWordApplication.Selection.TypeText("Hecho por Copstone 2010");
            //Indicamos que el texto anterior es un párrafo
            objWordApplication.Selection.TypeParagraph();
            //Hace visible la Aplicacion para que veas lo que se ha escrito
            objWordApplication.Visible = true; 

        }

Ahora, si quieres automatizar mas cosas como insertar tablas, imágenes, debes de empezar con leer el esquema del objeto MSWord, te dejo un link donde puedes encontrar mayor información: http://msdn.microsoft.com/en-us/library/kw65a0we(VS.80).aspx

Espero que este post te sea de mucha ayuda y si tienes alguna duda, deja un comentario.


Autor: Victor Parasi

Siempre es difícil escribir sobre uno mismo, qué contar, o por donde empezar, suele ser todo un dilema al momento de presentarse. Aquí vamos. Les diré que soy peruano, Ingeniero por vocación, dedicado a la docencia y siempre en la búsqueda de programar cada vez mejor. Aunque a veces algo terco, sé que no todo en la vida es blanco o negro. Existe el Open Source, y lo respeto pero me llevo mejor con el .Net. Si me hablas de preferencias, te digo que C#, C++, una buena película, colores oscuros, escribir, leer e investigar. Para terminar les diré que amo muchísimo a una mujer espectacular y que es la dueña de mi corazón.


Comentarios (4)

Carlos dice:

muy bueno el post gracias por todo

Carlos dice:

Hola

quisiera saber si no nesecita una libreria para poder trabajarlo en c++

Hola,
Realmente lo único que necesitas es el Interop de MSOffice 2007. Lo puedes descargar en el link que he colocado.

Alberto dice:

Hola Muy buen aporte me ha sido de mucha utilidad

Deja un comentario

   

copstone en Facebook

Otros artículos

Este es un artículo que todo programador de Windows debería leer. Si quieres poder tener un mayor control sobre lo que pasa en Windows y poder manipular sus ventanas como mejor te parezca, es necesario que conozcas primero el funcionamiento de las ventanas de Windows.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

HTML es el lenguaje de la mayoría de páginas web así que necesitas conocerlo si quieres desarrollarlas. Existen muchos tutoriales sueltos por ahí que puedes leer pero en este artículo hago un resumen de todo lo que necesitas saber de HTML para que no tengas que leer otro artículo.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Una de las tareas más comunes en una PC es la de copiar (Ctrl + C) y pegar (Ctrl + V). En este artículo te enseño como copiar y pegar con código en C++. Te mostraré como copiar y pegar texto e imágenes.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Copiar y Pegar archivos en una misma máquina puede resultar sencillo, pero te imaginas hacerlo a través de Internet e interactuar con un servidor FTP remoto?. Difícil?, lee este artículo y podrás darte cuenta que es bastante sencillo.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

En el artículo de SOA, vimos que en la actualidad lo importante no es sólo que tu aplicación funcione bien, sino que funcione acoplada al entorno sobre el cual será puesto en producción,comunicándose con las aplicaciones existentes y futuras mediante un concepto llamado Servicios. En este artículo veremos como implementar un Servicio mediante WCF de Microsoft.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Calendario

mayo 2010
L M X J V S D
« abr   jul »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

Categorías

Comparte este artículo

  • Facebook
  • Google Bookmarks
  • Google Gmail
  • Twitter
  • Yahoo Mail
  • Hotmail
  • LinkedIn
  • Share
TIENES ALGO QUE PREGUNTAR? ESCRÍBENOS AQUÍ

Copyright © 2012 - Programando por diversion

Subir