none
formatos de párrafo word

    Pregunta

  • Hola, sabeis si hay alguna manera de sacar los formatos aplicados a un documento maquetado con Word. Tamaño de fuente, color, tipo de fuente, espaciado de párrafo...

    Llevo un mes rompiéndome tratando de hacerlo en php pero intuyo que será bastante más sencillo con vb.net

    A ver si alguien me puede echar un mano. Gracias
    domingo, 13 de diciembre de 2009 11:23

Respuestas

  • hola

    bien en principio para obtener esta info es posible solo que vas a necesitaer trabar con las api de Interop de office

    Cómo automatizar Word desde Visual Basic .NET para crear un nuevo documento

    Easily utilise Microsoft Word functionality in your .NET application

    como veras basicamente es hacer referencias desde tu proyecto como muestra la imagen

    luego si ya sera cuestiuon de agregar los imports

    Imports Microsoft.Office.Interop.Word

    y trabajar con la libreria de Word desde codigo, la cual tiene su particularidad y hay que reconocer que por ahi no sea muy intuitiva pero bien vamos por parte, trata de probar si la menos puedes desde tu aplciacion vb.net realziar estos primeros pasos

    por supuesto necesitaras tener word instalado en la pc de desarrollo

    a proposito que version de office vas a utilziar ?
    sera la 2007 ?

    por ahi como priemra medida podrias probar de abrir el documento desde codigo

    Creating and opening Microsoft Word document from VB.NET



    Yo habia armado un ejemplo tambien epro esta en c#
    Word – Utilización de Tablas

    igualmente podrias traducierlo con estas tools
    Convert C# to VB.NET
    Code Converter

     



    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 13 de diciembre de 2009 15:58
  • hola

    si se puede lograr, solo que requerira algo de practica previa si es que nunca has usado antes las api de Office desde codigo

    lo primeroe s que puedas como te habia comentado referenciar als librerias de office desde el proyecto que estas desarrollando
    como explicaba el post anterior, esto lo has podido realziar ?

    bien, el proximo paso es realziar la apertura del documento
    en el ultimo link del post anterir habia un ejemplo que podias descargar pero te paso otro lisnk

    Trabajar con documentos de Word con VB.Net

    veras que hay una linea de codigo que justamente permite la apertura de documento

    lo puedes hacer con estas lineas

    Dim sRutaDoc As String = Application.StartupPath & "\Documentos\Doc1.doc"

    Dim AppWord As Word.Application = New Word.Application()
    AppWord.Documents.Open(sRutaDoc)


    veras que crea un objeto de word application, y luego usa el metodo Open() para abrir el documento desde la ruta indicada
    este seria el segundo paso, ve realziando algunas pruebas a ver si va saliendo, hasta llegar a los parrafos son unos pasos mas que hay que dar

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 13 de diciembre de 2009 18:56

Todas las respuestas

  • hola

    - que seria un documento maquetado ?

    ademas un docuemtno puede aplicar muchos formatodos a documento en si mismo, o sea puede haber parrafos con distintas fuentes, espaciados, etc

    o es que necesitas la info generica de word, y no de un documento en especifico, o sea no es que estas abriendo un documento y leyendo la info d este, sino que necesitas la confguracion que utiliza Word

    - algo que me llamo la atencion es que mencioas php,  sea este lenguaje es para un entorno web, pero vb.net no, o sea aqui trae algo de confusion el desarrollo es web o con winform ?

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 13 de diciembre de 2009 14:52
  • Hola Leandro,
    Antes que nada muchas gracias por tu atención.

    La verdad es que no me he explicado demasiado bien en el primer mensaje.

    Verás tengo una serie de documentos ya maquetados en Word y necesito obtener toda la información de los formatos que se han aplicado a cada párrafo, tablas, etc.

    Esto proporciona la información que después le daré a los alumnos para que maqueten su documento en Word
    Por ejemplo. En el párrafo 1 debes aplicar un formato de fuente negrita tamaño 15 y estilo Verdana, en el párrafo 2 una tabla, en el 3 unas tabulaciones... Algo como esto: http://www.gigasize.com/get.php?d=ckdr93obgnf

    Almacenando los distintos formatos en variables. Una vez hecho esto la idea es comparar los formatos del documento ya maquetado con los que han aplicado los alumnos, para poder obtener la puntuación de cada uno en función del número de formatos que hayan aplicado bien.

    Creo que es posible hacerlo con vb pero no tengo mucha idea de como.

    De lo único que sé algo es de php, por eso se me ha ocurrido guardar el .doc como .html para después correr un script en php en el que uso funciones de texto para sacar la información de cada párrafo. El problema es que el script me está quedando inmenso. Llevo más de 2000 líneas de programación y no dejan de surgir problemas a la hora de elaborarlo.

    Por eso pensaba que quizás a vosotros se os ocurriese alguna manera mucho más fácil de implementarlo quizás con vb. No sé si me podríais orientar un poco.

    Muchas gracias por tu ayuda ;-)
    domingo, 13 de diciembre de 2009 15:12
  • hola

    bien en principio para obtener esta info es posible solo que vas a necesitaer trabar con las api de Interop de office

    Cómo automatizar Word desde Visual Basic .NET para crear un nuevo documento

    Easily utilise Microsoft Word functionality in your .NET application

    como veras basicamente es hacer referencias desde tu proyecto como muestra la imagen

    luego si ya sera cuestiuon de agregar los imports

    Imports Microsoft.Office.Interop.Word

    y trabajar con la libreria de Word desde codigo, la cual tiene su particularidad y hay que reconocer que por ahi no sea muy intuitiva pero bien vamos por parte, trata de probar si la menos puedes desde tu aplciacion vb.net realziar estos primeros pasos

    por supuesto necesitaras tener word instalado en la pc de desarrollo

    a proposito que version de office vas a utilziar ?
    sera la 2007 ?

    por ahi como priemra medida podrias probar de abrir el documento desde codigo

    Creating and opening Microsoft Word document from VB.NET



    Yo habia armado un ejemplo tambien epro esta en c#
    Word – Utilización de Tablas

    igualmente podrias traducierlo con estas tools
    Convert C# to VB.NET
    Code Converter

     



    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 13 de diciembre de 2009 15:58
  • Gracias Leandro por toda la info, eres un crack,

    Tengo Word 2003. Pero es la primera vez que necesito echar mano de vb y ando algo perdido. Por lo que he podido ver se puede crear un documento en Word a partir de vb. Lo que no sé es si se puede hacer lo contrario, a partir de un documento ya maquetado obtener toda la información de los formatos para almacenarla en variables y después compararla.

    Gracias de nuevo! Un saludo
    domingo, 13 de diciembre de 2009 18:39
  • hola

    si se puede lograr, solo que requerira algo de practica previa si es que nunca has usado antes las api de Office desde codigo

    lo primeroe s que puedas como te habia comentado referenciar als librerias de office desde el proyecto que estas desarrollando
    como explicaba el post anterior, esto lo has podido realziar ?

    bien, el proximo paso es realziar la apertura del documento
    en el ultimo link del post anterir habia un ejemplo que podias descargar pero te paso otro lisnk

    Trabajar con documentos de Word con VB.Net

    veras que hay una linea de codigo que justamente permite la apertura de documento

    lo puedes hacer con estas lineas

    Dim sRutaDoc As String = Application.StartupPath & "\Documentos\Doc1.doc"

    Dim AppWord As Word.Application = New Word.Application()
    AppWord.Documents.Open(sRutaDoc)


    veras que crea un objeto de word application, y luego usa el metodo Open() para abrir el documento desde la ruta indicada
    este seria el segundo paso, ve realziando algunas pruebas a ver si va saliendo, hasta llegar a los parrafos son unos pasos mas que hay que dar

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 13 de diciembre de 2009 18:56
  • Leandro, perdona mi torpeza pero cómo hago para referenciar las librerías de office desde el proyecto a realizar? Debo descargar el Microsoft Visual Studio NET, que es lo que me ha parecido ver en la explicación que me dabas en el post anterior?
    domingo, 13 de diciembre de 2009 20:06
  • hola

    descargar el Microsoft Visual Studio.NET ?
    pero no tienes ya el VS instalado, no estas utilziando aunque se la version Express  del visual studio

    o sea sino tienes el Visual Studio ni siquieres puedes arrancar, ya que este es el ide donde desarrollaras, me confundio un poco la pregunta, con que software estabas pensando desarrollar en vb.net ?

    si tienes el VS debes usar la opcion que visualizas en la iamgen que puse en la segunda respuesta imagen
    desde alli referencias a la libreria de Office


    pero por la pregunta veo que antes de comenzar deberias leer algo mas sobre vb.net, porque enfrentarte a las librerias de Office sin saber antes bien vb.net, va a ser bastante duro

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 13 de diciembre de 2009 20:46