[RESUELTO] Ocultar ejecución de macros.
-
Chelo2
- Mensajes: 103
- Registrado: Mié Ago 14, 2013 4:25 am
- Ubicación: Lomas de Zamora, Buenos Aires, Argentina
[RESUELTO] Ocultar ejecución de macros.
Quería saber si existe para Open Office alguna instrucción para ocultar la ejecución de las macros. Cuando trabajaba con Excel usaba una instrucción que era Application.ScreenUpdating = True o False que era para mostrar u ocultar.
El tema de que a través de codigo valido una clave de acceso que consulto en otro libros y cuando el mismo se abre se visualiza. Quisiera ver si se puede ocultar ese proceso.
Muchas gracias y un saludo desde Buenos Aires, Argentina .
Chelo2
El tema de que a través de codigo valido una clave de acceso que consulto en otro libros y cuando el mismo se abre se visualiza. Quisiera ver si se puede ocultar ese proceso.
Muchas gracias y un saludo desde Buenos Aires, Argentina .
Chelo2
Última edición por Chelo2 el Mar Oct 01, 2013 5:31 pm, editado 1 vez en total.
OpenOffice 4.1.3 en Windows 7
Re: Ocultar ejecución de macros.
ScreenUpdating no era para ocultar la ejecución si no para refrescar o no la pantalla, cosa distinta a ocultar la ejecución de una macro...
Para consultar el libro de forma oculta, pues eso, solo abrelo de forma oculta, lo cual puedes consultar en mi libro: http://forum.openoffice.org/es/forum/vi ... =50&t=1545 y en el wiki: http://wiki.openoffice.org/wiki/ES/Manu ... documentos
y solo lo abres de forma oculta:
Saludos
Para consultar el libro de forma oculta, pues eso, solo abrelo de forma oculta, lo cual puedes consultar en mi libro: http://forum.openoffice.org/es/forum/vi ... =50&t=1545 y en el wiki: http://wiki.openoffice.org/wiki/ES/Manu ... documentos
y solo lo abres de forma oculta:
Código: Seleccionar todo
mOpciones(0).Name = "Hidden"
mOpciones(0).Value = True______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
Chelo2
- Mensajes: 103
- Registrado: Mié Ago 14, 2013 4:25 am
- Ubicación: Lomas de Zamora, Buenos Aires, Argentina
Re: Ocultar ejecución de macros.
Mauricio:
Ante todo gracias por tu ayuda. El código que me indicaste funciona perfectamente, pero cuando utilizo sólo esa opción. Si utilizo una segunda opción, la de password para abrir el libro, ya hí no anda.
Quizá esté haciendo algo mal, pero no me doy cuenta. Por eso pego el código por si se puede observar algún error.
Public Sub Abre_Libro
Dim sRuta As String
Dim mOpciones(1) As New "com.sun.star.beans.PropertyValue"
Dim oDoc As Object
'Dim oLFinal As Variant
Dim UltFila As Long
Dim oSel As Object
Dim oHojaBase As Object
Dim oBuscarEn As Object
Dim oEncontrado As Object
Dim oSD As Object
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
' ABRE EL LIBRO DE DESTINO
mOpciones(0).Name = "Hidden"
mOpciones(0).Value = True
mOpciones(1).Name = "Password"
mOpciones(1).Value = "02081938"
sRuta = ConvertToUrl( "/D:/Pruebas OpenOffice/"+Libro+".ods") 'EN LA OFICINA
oDoc = StarDesktop.loadComponentFromURL( sRuta, "_blank", 0, mOpciones() )
.... sigue
Al abrir el libro protegido con password para buscar el usuario, tomar la clave, cerrarlo, etc. etc., todo ese proceso, aunque sea corto, se visualiza en la pantalla del usuario y es lo quiero ocultar o que se desarrolle en un segundo plano.
Gracias por tu colaboración. Un saludo.
Chelo2
Ante todo gracias por tu ayuda. El código que me indicaste funciona perfectamente, pero cuando utilizo sólo esa opción. Si utilizo una segunda opción, la de password para abrir el libro, ya hí no anda.
Quizá esté haciendo algo mal, pero no me doy cuenta. Por eso pego el código por si se puede observar algún error.
Public Sub Abre_Libro
Dim sRuta As String
Dim mOpciones(1) As New "com.sun.star.beans.PropertyValue"
Dim oDoc As Object
'Dim oLFinal As Variant
Dim UltFila As Long
Dim oSel As Object
Dim oHojaBase As Object
Dim oBuscarEn As Object
Dim oEncontrado As Object
Dim oSD As Object
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
' ABRE EL LIBRO DE DESTINO
mOpciones(0).Name = "Hidden"
mOpciones(0).Value = True
mOpciones(1).Name = "Password"
mOpciones(1).Value = "02081938"
sRuta = ConvertToUrl( "/D:/Pruebas OpenOffice/"+Libro+".ods") 'EN LA OFICINA
oDoc = StarDesktop.loadComponentFromURL( sRuta, "_blank", 0, mOpciones() )
.... sigue
Al abrir el libro protegido con password para buscar el usuario, tomar la clave, cerrarlo, etc. etc., todo ese proceso, aunque sea corto, se visualiza en la pantalla del usuario y es lo quiero ocultar o que se desarrolle en un segundo plano.
Gracias por tu colaboración. Un saludo.
Chelo2
OpenOffice 4.1.3 en Windows 7
Re: Ocultar ejecución de macros.
Una posible opción al Application.ScreenUpdating pudiera ser´por ejemplo este codigo:
En un libro nuevo introduce este codigo y mira por favor como se seleccionan varias celdas y se introducen varios valores en algunas celdas y todo ese proceso no se ve en la pantalla, según yo.
Otras posibles alternativas:
Tal vez algo así funcione.
Saludos, Federico.
En un libro nuevo introduce este codigo y mira por favor como se seleccionan varias celdas y se introducen varios valores en algunas celdas y todo ese proceso no se ve en la pantalla, según yo.
Código: Seleccionar todo
Sub ScreenUpdating
oDoc = ThisComponent.CurrentController
oSheet = oDoc.ActiveSheet
oDoc.getFrame.getContainerWindow.Visible = FALSE
oDoc.select(oSheet.getcellrangebyname("A15"))
oDoc.select(oSheet.getcellrangebyname("A16"))
oDoc.select(oSheet.getcellrangebyname("A17"))
oDoc.select(oSheet.getcellrangebyname("A18"))
oDoc.select(oSheet.getcellrangebyname("A19"))
oDoc.select(oSheet.getcellrangebyname("A20"))
oDoc.select(oSheet.getcellrangebyname("A21"))
oDoc.select(oSheet.getcellrangebyname("A22"))
oDoc.select(oSheet.getcellrangebyname("A23"))
oDoc.select(oSheet.getcellrangebyname("A24"))
oDoc.select(oSheet.getcellrangebyname("A25"))
oDoc.select(oSheet.getcellrangebyname("A26"))
ThisComponent.sheets(0).getcellrangebyname("A1").Value = 10
ThisComponent.sheets(0).getcellrangebyname("A2").Value = 20
ThisComponent.sheets(0).getcellrangebyname("A3").Value = 30
ThisComponent.sheets(0).getcellrangebyname("A4").Value = 40
ThisComponent.sheets(0).getcellrangebyname("A5").Value = 50
ThisComponent.sheets(0).getcellrangebyname("A6").Value = 60
ThisComponent.sheets(0).getcellrangebyname("A7").Value = 70
ThisComponent.sheets(0).getcellrangebyname("A8").Value = 80
ThisComponent.sheets(0).getcellrangebyname("A9").Value = 90
oDoc.getFrame.getContainerWindow.Visible = TRUE
End SubCódigo: Seleccionar todo
Sub DesactivarPantalla
oDoc = ThisComponent
oDoc.addActionLock
oDoc.sheets(0).getcellrangebyname("A1").Value = 10
oDoc.sheets(0).getcellrangebyname("A2").Value = 20
oDoc.sheets(0).getcellrangebyname("A3").Value = 30
oDoc.sheets(0).getcellrangebyname("A4").Value = 40
oDoc.sheets(0).getcellrangebyname("A5").Value = 50
oDoc.sheets(0).getcellrangebyname("A6").Value = 60
oDoc.sheets(0).getcellrangebyname("A7").Value = 70
oDoc.sheets(0).getcellrangebyname("A8").Value = 80
oDoc.sheets(0).getcellrangebyname("A9").Value = 90
End SubCódigo: Seleccionar todo
Sub ActivarPantalla
oDoc = ThisComponent
oDoc.resetActionLocks()
End SubSaludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
-
Chelo2
- Mensajes: 103
- Registrado: Mié Ago 14, 2013 4:25 am
- Ubicación: Lomas de Zamora, Buenos Aires, Argentina
Re: Ocultar ejecución de macros.
Perfectoooo... La segunda opción me funcionó de maravillas.
Muchas gracias Federico y gracias a todos por su ayuda.
Un saludo desde Buenos Aires Argentina.
Chelo2
Muchas gracias Federico y gracias a todos por su ayuda.
Un saludo desde Buenos Aires Argentina.
Chelo2
OpenOffice 4.1.3 en Windows 7
-
pedrozaframolina
- Mensajes: 1
- Registrado: Vie Oct 11, 2019 12:10 pm
Re: [RESUELTO] Ocultar ejecución de macros.
Muchas gracias Mauricio por la solución que das al problema del parpadeo en la ejecución de macros. Funciona perfectamente.
OpenOffice 6.3. en windows 10