Ariel Constenla-Haile escribió:
Hola Luis,
On Wednesday 23 September 2009, 03:45:28, Luis Iglesias wrote:
En algunos documentos que se usan como plantilla me ha parecido útil el
usar secciones vinculadas a una sección principal, de forma que se
escribe el texto únicamente en la sección principal y una vez
actualizado ya tenemos el texto en las demás.
El problema desde mi punto de vista es la cuestión de la actualización:
ya he visto que hay opción al cargar el documento de que no pregunte por
lo de <Actualizar vínculos>, pero si se ha modificado la sección
principal tengo que decirles a los usuarios que, por ejemplo, antes de
imprimir el documento tienen que ir a Herramientas > Actualizar >
Actualizar todo (ya sé que podría ponerles un botón o una tecla rápida).
En mi opinión sería imprescindible que actualizase los vínculos antes de
imprimir y no haya que acordarse de hacerlo a mano.
¿Veis alguna solución a esto?
macro-magia: asigna una macro al documento/plantilla, desde (disculpa el
inglés pero no tengo una versión en castellano) Tools - Customize -
Events. Selecciona el evento "Print Document".
La macro podría ser:
Sub AlImprimir( oEv as Object )
Dim oDoc
oDoc = oEv.Source
oDoc.refresh()
oDoc.reformat()
oDoc.updateLinks()
End Sub
si deseas actualizar casi todo (si sólo deseas actualizar los elementos
vinculados, deja oDoc.updateLinks() y quita oDoc.refresh() y
oDoc.reformat() ).
Adjunto un pequeño test para que lo pruebes.
Saludos
¡Muchas gracias!
Tengo OOo 3.0 sobre Fedora 8 y la macro me da un error de ejecución en
la línea
oDoc = oEv.Source
dicíendome que faltan argumentos.
¿estás ejecutando la macro directamente?
Como está asignada a un evento, está escrita para atrapar ese evento cuando es
invocada por OOo (el parámetro en el encabezado de la macro Sub AlImprimir(
oEv as Object ) ). Si la ejecutas directamente, te faltará ese parámetro que
es pasado por OOo.
Prueba imprimiendo (a PDF para ahorrar) el documento que te he enviado, verás
que no genera error cuando es invocada directamente por OOo antes de imprimir.
Pues para probar asigné la macro a [guardar documento] y a [imprimir]
y realizo alguno de estas acciones aparece una ventana con este texto:
========================
Se ha producido un error de marco de programación al ejecutar el comando
Standard.module1.AlImprimir escrito en Basic.
Mensaje: wrong number of parameters!
========================
Pero ya te digo que no tiene importancia.
La segunda parte es el problema de seguridad con las macros.
Por defecto la seguridad es alta, así que sólo permite macros firmadas.
Así que o modifico la seguridad de macros en los cientos (sin exagerar)
de equipos con OpenOffice o me meto con el lío de las firmas.
lo mejor es entonces una extensión, que haga el mismo trabajo que la macro.
Esto es incluso más fácil de instalar, mantener, actualizar, etc.
Lo de las extensiones suena muy bien, pero aún el otro dia me puse a
bucear en documentación para intentar mediante extensiones agregar
modelos de etiquetas y... no fui capaz.
He podido firmar la macro: la primera vez hay opción de indicar que se
confía en el firmante y ya se evitan posteriores mensajes, así que me
vale como solución en espera de aprender más sobre las extensiones.
Muchas gracias por todo,
Luis.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]