Hola a todos:
Necesitaría saber como puedo hacer una macro mediante un objeto OLE, me
explico:
Tenemos una aplicación que instancia un objeto de word, mediante llamadas a
objeto abrimos el documento, combinamos y grabamos.
Ahora le hemos añadido la posibilidad de proteger el documento para que sea
solo lectura mediante una clave aleatoria.
Dim oAplicacion As New Word.Application
Dim oDocumento As Document
oAplicacion.Documents.Open "c:\temp\documento.doc"
Set oDocumento = oAplicacion.ActiveDocument
oDocumento.Protect wdAllowOnlyReading, , "123"
oDocumento.Save
pero se puede saltar esta protección mediante seleccionar todo - copiar y
pegar en un nuevo documento
Queremos que la opción de copiar esté desactivada, para ello hemos echo una
prueba poniendo una macro que capture este evento y no haga nada
Sub EdiciónCopiar()
'
' EdiciónCopiar Macro
' Copia la selección y la coloca en el Portapapeles
'
End Sub
Pero como nuestro documentos se generan mediante una combinación de
correspondencia, genera un documento limpio, sin macros ni nada que se le
parezca ( como mucho, las propiedades de normal.dot )
¿Se puede añadir esta macro mediante alguna sentencia a nuestro documento?
Algo así como
oDocumento.addMacro = "sub EdiciónCopiar() End Sub"
oDocumento.save
Gracias por adelantado
Francisco López
Dpt. Desarrollo
Keyhelp, S.L.
http://www.keyhelp.net
Leer las respuestas