Firme un proyecto/archivo de Word VBA a través de la línea de comandos u otra forma de automatización

StackOverflow https://stackoverflow.com/questions/2422508

  •  19-09-2019
  •  | 
  •  

Pregunta

¿Hay alguna manera de automatizar el código de código de un proyecto VBA en un documento de Word 2003 y/o Word 2007?

Por automatizar me refiero a través de una utilidad de línea de comando o mediante Word VBA Automation?

Motivación: Me gustaría codificar varias plantillas de palabras como parte de un ciclo automatizado de compilación y distribución diaria. En este momento tenemos que hacer esto manualmente abriendo cada documento en Word y renunciando.

Gracias, Malcolm

¿Fue útil?

Solución

No creo que haya una forma automatizada de hacer esto porque derrotaría la seguridad de firma de código Firma del proyecto VBA.

Se comparan los dos digestos de mensajes, y si alguna parte del archivo ha sido modificada o corrompida, los resumen no coincidirán y no se puede confiar en el contenido del archivo. El proceso de verificación fallará independientemente de cómo se modificó el archivo, ya sea a través de la corrupción, un macro virus o cambios programáticos realizados por un complemento u solución de oficina. El proceso de verificación también fallará si el archivo no se firmó con un certificado válido; Es decir, si el certificado hubiera expirado, o hubiera sido forjado, alterado o corrompido. Si otro usuario modifica el proyecto VBA, la aplicación Office 2000 elimina la firma actual y solicita al usuario que vuelva a firmar el proyecto VBA; Si el usuario no firma el proyecto VBA o lo firma con otro certificado, el archivo puede fallar el proceso de verificación.

Insertado desde http://msdn.microsoft.com/en-us/library/aa190113(Office.10).aspx

La firma de código tiene el nivel adicional de seguridad en el hecho de que un desarrollador debe compilar el código fuente. Una macro no se compila y se puede distribuir como texto. Por lo tanto, la automatización de la firma macro abriría un gran orificio de seguridad. Siging manualmente una macro es similar a Outlook, lo que solicita al usuario que permita el acceso programático a la libreta de direcciones.

Otros consejos

Nunca he visto una manera de hacer esto. Tenía una construcción automatizada de una plantilla hace años y al final aparecí un cuadro de mensaje que decía "Tienes que firmar la plantilla ahora" y luego abrí VBA para ellos. Solo digo que siento tu dolor, supongo.

Puede valer la pena ver esto:http://winbatch.com/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top