Imprimir página | Cerrar ventana

Leer último carácter NO blanco de un documento

Impreso de: Foro de Access y VBA
Categoría: Otros de Microsoft: Windows y Office
Nombre del foro: Word
Descripción del foro: Foro de Word
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86995
Fecha de impresión: 26/Marzo/2026 a las 15:02


Tema: Leer último carácter NO blanco de un documento
Publicado por: oskarrr
Asunto: Leer último carácter NO blanco de un documento
Fecha de publicación: 21/Octubre/2024 a las 19:43
Hola a todos.

Primero de todo me presento. Programo en VB6 desde hace bastante años por hobby únicamente.
Por trabajo, estoy usando el visual basic de word para automatizar pequeñas tareas.

Mi objetivo: Ser capaz de leer la última línea (carácter, tabla o imagen) escrita de un documento, al objeto de saber hasta donde llega lo escrito en la página. Por ejemplo, si la página está escrita hasta la mitad, pues el resultado sería 50%, si la página está completamente escrita desde la primera línea hasta la última, sería 100%.

En VB6 tengo hecho el programa, y funciona bien. En resumen, el documento word lo paso a pdf con el distiller, la última página la paso a jpg con ghostscript, el jpg lo cargo en un PictureBox, y voy leyendo pixel a pixel (con la fucion getpixel) desde el final del documento hasta encontrar el primer carácter no blanco. Veo la posición y saco el procentaje. Explicado de modo muy resumido. Puedo poner el código.

Desde word, y al no tener forms donde cargar ningún picture, me encuentro con limitaciones. 

Pregunta 1: ¿desde el visual basic de word puedo hacer todo lo que hago con vb6?
Pregunta 2: ¿algo por donde empezar para leer la última página del documento y conocer hasta donde está escrita?

Saludos




Respuestas:
Publicado por: Mihura
Fecha de publicación: 21/Octubre/2024 a las 20:27
Hola, bienvenido.

Prácticamente todo el código de VB6 puedes hacerlo correr (adaptándolo un poquitín a VBA), en cuanto le pilles un poco de práctica verás que sin problemas.

Office tiene una cosa muy útil: la grabadora de macros (lástima que no lo tenga Access)
lo que vayas haciendo en pantalla lo va traduciendo a código y a partir de él ya puedes empezar a 'hacer cosas'.

Recuerda que este es un foro de Access, no uno específico de Word, así que puede que haya consultas que realices en las que no obtengas respuesta.

Un saludo.




-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: oskarrr
Fecha de publicación: 22/Octubre/2024 a las 08:06
Gracias por tu respuesta. Aunque el código es el mismo, el no tener visualmente un form donde poder añadir list, textbox, picturebox, etc. cuesta más




Publicado por: Mihura
Fecha de publicación: 22/Octubre/2024 a las 08:39
Simplemente créatelos como funciones ...

-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: xavi
Fecha de publicación: 22/Octubre/2024 a las 09:13
Hola,

Word no tiene formularios como tiene Access, pero tiene UserForms como tiene todas las aplicaciones Office (incluso Access aunque a primera vista no están habilitados).

Ahí si puedes poner los controles que quieras.

¿Te vale?


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: Mihura
Fecha de publicación: 22/Octubre/2024 a las 09:19
Mira, no había caído en los userforms



-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: prga
Fecha de publicación: 22/Octubre/2024 a las 10:42
Hola.
Por dar otro enfoque para encontrar una posible solución desde el propio word.
  
  Selection.EndKey Unit:=wdStory
    MsgBox (Selection.Information(wdVerticalPositionRelativeToPage))
este código nos lleva al final del documento y la selection.information nos dice la posición donde estamos desde el principio de esa página.
Habrá que ver en la ayuda de word todas las posibilidades que tiene la ".information" para ajustarse mejor al problema planteado.
Esto, evidentemente, no es una solución, pero sirva como inicio a una posible solución propia del word.
Ya comentas.
Un saludo a todos



Imprimir página | Cerrar ventana