Crear una animación a partir de una serie de documentos de Word

4

Quiero crear una película de "lapso de tiempo" del proceso de edición de varios meses de un gran documento de Word . He creado un script que se ejecuta cada 15 minutos, guardando una copia del archivo si se ha editado, dejándome con una carpeta que contiene muchas copias del documento, nombradas en orden cronológico, capturando la evolución del documento. (El documento está escrito en el transcurso de varios meses, por lo que la grabación directa de pantalla, etc., no es una opción).

Para crear la película manualmente, abriría cada archivo, verificaría "Ver> Varias páginas", ajustaría el factor de zoom para mostrar todas las páginas del documento actual y tomaría una captura de pantalla. Enjuague y repita. (La película siempre debe mostrar todas las páginas del documento, no importa si las páginas se reducen a "miniaturas")

¿Cómo puedo automatizar este proceso? Vería dos estrategias; el primero usando Word y alguna solución de secuencias de comandos como VBA para automatizar de alguna manera el proceso manual descrito anteriormente. O utilizar una herramienta de línea de comandos para representar una descripción general de un documento de Word como gráficos, y utilizar un script por lotes simple para representar todos los documentos. No puedo encontrar una solución que funcione con ninguna de estas dos estrategias. (Preferiría ligeramente la primera opción, ya que me gustaría tener la interfaz de usuario de Word visible en la película)

Florian Ledermann
fuente
Hola y bienvenido a SuperUser. No somos un servicio de "Por favor escríbeme un script", por lo que no le proporcionaremos un script. Tampoco somos un foro de solicitud de software, por lo que tampoco lo haremos. Si comparte su investigación, podemos ayudarlo a simplificarlo y decirle dónde van las cosas mal y cómo solucionarlo. Consulte el Centro de ayuda para saber qué tipo de pregunta es aceptable aquí en SuperUser.
LPChip
Solo para aclarar lo anterior, VBA definitivamente puede hacer esto. Solo intente presionar la función de grabación de macro en Word y realice las acciones manualmente. Le dará un código, y sí, puede cargarlo en otro documento de Word, cambiar el nivel de zoom, etc., todo desde VBA. Combine eso con algunas búsquedas en Google y debería estar en camino bastante bien. Al final, comparta su código que no funciona perfectamente aquí y pregunte por qué no funciona como se esperaba, y lo ayudaremos con eso.
LPChip
Por último, VBA es Visual Basic para Aplicaciones, también puede utilizar VBScript, y hay mucho de eso en Internet, por ejemplo, para encontrar todos los archivos en una carpeta y obtener una matriz con nombres de archivos.
LPChip
No estaba pidiendo que alguien me escribiera un guión, sino enfoques generales para resolver este problema. Yo mismo señalé dos posibles estrategias, las cuales todavía no podía hacer para resolver el problema. Si tuviera una pregunta sobre el código real, iría a StackOverflow, no preguntaría aquí, ¿verdad?
Florian Ledermann
¿Qué hiciste realmente para tu primer acercamiento? ¿Por qué crees que esa solución no funcionará? Ya estás señalando los enfoques obvios para hacer. Por supuesto, también puedes hacer esto manualmente. Abra cada documento y obtenga una captura de pantalla del mismo. Algunas herramientas como Greenshot, etc. le permiten guardar directamente capturas de pantalla en el disco.
Seth

Respuestas:

5

Parece de la publicación que tiene cientos, si no miles, de versiones de un documento de Word, y desea crear un video de su evolución.

Aquí está en general cómo habría atacado tal problema:

  • Descargue e instale los siguientes productos gratuitos:

  • Preajuste ShareX para capturar la región de la pantalla en la que aparecerá Word, con una tecla de acceso rápido para capturar esta región, y configúrela para almacenar capturas de pantalla en una carpeta vacía

  • Haga una lista de los nombres de todos los archivos de documentos en orden de fecha ascendente:

    dir /B /N D *.doc > script.ahk
  • Utilice un editor de texto de cualquier tipo que pueda combinar este script en un script AutoHotkey para que cada uno de los nombres de documentos anteriores se convierta en varias líneas de la siguiente manera:

    • ejecutar "document-name"
    • dormir la cantidad de segundos necesarios para que se cargue el documento
    • envíe la tecla de acceso rápido ShareX al escritorio para que se tome una captura de pantalla
    • dormir un poco
    • cierra Word, ubicándolo a través de su título, enviándolo Alt+F4
    • dormir un poco
  • Ejecute el script

  • Une el conjunto de imágenes en un video Timelapse usando VirtualDub

Como alternativa a la creación de un script que puede abarcar miles de líneas, uno puede usar los comandos AutoHotKey de Loop, Filesy sort (consulte el manual ).

El script AutoHotkey probablemente demorará muchos minutos en ejecutarse, si no horas si tiene miles de documentos. Pruébelo primero en un pequeño subconjunto de documentos.

Si no conoce AutoHotkey, comience con el tutorial que se encuentra en su sitio web y google para acciones específicas. Se pueden encontrar muchos artículos y scripts de muestra, y también los miembros del foro AutoHotkey son muy útiles.

harrymc
fuente
1

Creo que vas por esto de la manera incorrecta. Debería usar algo como una emisora ​​abierta con una grabación de muy baja velocidad de cuadros. Usaría más espacio en el disco duro, pero sería mucho más fácil editarlo en un programa más adelante. https://obsproject.com/ Es de código abierto y funciona en la mayoría de los sistemas operativos

Beneficios incluidos:

Puede crear scripts para OBS https://obsproject.com/forum/list/tools-and-scripts.22/

Posibilidad de guardar en múltiples formatos.

La capacidad de remux rápidamente a un formato diferente después de guardar accidentalmente en el formato incorrecto.

Capacidad para grabar una ventana pero no otras ventanas o para grabar toda la pantalla.

Posibilidad de ocultar el mouse.

Sólo para nombrar unos pocos.

Terminal lateral
fuente
Agregaría, si el archivo ya está completo, registre su acción de eliminar (retroceso) todo una letra a la vez, luego edite el video para reproducirlo en reversa y a la velocidad que desee.
MacsAre1
Esa es una muy buena idea que podría incorporarse con OBS o cualquier otro software de grabación de video. Ni siquiera lo consideré. En realidad, ahorraría mucho más espacio en la computadora. Eso funcionaría a menos que quiera grabar todo el proceso, no solo mostrarlo llenando toda la pantalla con texto. De todos modos, ¿por qué no publicas eso como respuesta?
LateralTerminal
Esta no es una opción para mí, ya que 1) el documento está escrito en el transcurso de varios meses, con la computadora utilizada para muchas otras cosas entre sesiones de escritura, y 2), como se indica en la pregunta, quiero el video para mostrar una descripción general del documento, pero no edito el documento en esta vista (ya que la fuente será demasiado pequeña para leer).
Florian Ledermann