Como hacer macros para ocultar-mostrar columnas?

¿Nuevo en Apache OpenOffice? ¿No sabe cómo comenzar o dónde hacer su pregunta? ¡Este es el lugar!
Reglas del Foro
Los moderadores podrían mover los temas creados aquí a un foro más apropiado.
Si usted publicó aquí y no encuentra el tema, puede buscar sus mensajes haciendo clic en la opción «Buscar sus mensajes» que se encuentra justo debajo de la cabecera de la página, junto al panel de control de usuario y al acceso a sus mensajes privados.

Como hacer macros para ocultar-mostrar columnas?

Notapor duralai » Jue Sep 13, 2012 2:40 am

Hola, estoy preparando una hoja que aun no termino donde los datos abarcan muchas columnas deben ser como 300, por lo tanto se me complica para moverme de un sector a otro.
Entonces quisiera saber si es posible hacer varias macros para MOSTRAR-OCULTAR columnas, y si es posible que estas macros estén asociadas a un botón MOSTRAR-OCULTAR o a 2 por macro, o lo que sea, cosa que sea fácil ejecutarlas.
En esta hoja que estoy creando tengo un área que es fija, y arriba de este área me gustaría tener los botones, ya que siempre esta visible aunque me desplace por la hoja.
Voy a subir un ejemplo donde hay 3 áreas (verde, rojo y azul) y 9 sub-áreas también marcadas en colores distintos, también a todas las áreas las agrupe con AGRUPAR ESQUEMA (herramienta que desconocía hasta hace poco) solo para probar, pero no me daría resultados en la hoja que preparo ya que es mucho mas larga.
Hoy intente grabar una macro, fui a Grabar macro, seleccione ciertas columnas y las oculte, finalice la grabación, pero cuando quise ejecutarla (después de volver a mostrar el área que oculte), solo me oculto la columna sobre la cual estaba posicionado el cursor.

Lo que quisiera es una orientación con algún área de este ejemplo (ya que no entiendo nada de macros), y luego veré como lo hago yo mismo cuando termine la otra hoja. Supongo que si tengo una macro para MOSTRAR-OCULTAR un sector de una hoja, deberé copiar el código y reemplazar la parte del área de columnas para MOSTRAR-OCULTAR otro orea.

Otra cosa, para que la macro este siempre en la hoja debería grabarse en la misma hoja no?

Bueno, espero que se haya entendido y agradezco cualquier consejo.


Saludos!
Adjuntos
EJEMPLO OCULTAR-MOSTRAR.ods
(7.23 KiB) 1542 veces
OpenOffice.org 3.3 , XP Profesional
duralai
 
Mensajes: 120
Registrado: Jue Mar 03, 2011 2:24 am

Re: Como hacer macros para ocultar-mostrar columnas?

Notapor mauricio » Jue Sep 13, 2012 3:41 am

Hola...

Es muy sencillo ocultar columnas:
Código: Seleccionar todo   Expandir vistaContraer vista
Option Explicit

Sub Pruebas()

   'Solo pasa el rango que quieras ocultar o mostrar
   Call MostrarOcultarColumnas("V1:Z1")

End Sub

Sub MostrarOcultarColumnas(Rango As String)
Dim oRango As Object

   oRango = ThisComponent.getCurrentController.getActiveSheet.getCellRangeByName(Rango)
   oRango.getColumns.IsVisible = NOT oRango.getColumns.IsVisible
   
End Sub

Te anexo tu archivo con las macros... solo resta asignar a los botones que quieras, ten cuidado de no poner los botones en el área de las columnas que ocultaras, yo crearía una nueva barra de herramientas para esto.

Si con las respuestas obtenidas consideras que se ha dado solución a tu consulta :), por favor, marca el tema como [RESUELTO],
Si no sabes cómo, por favor, lee Como marcar como [RESUELTO] un tema.
Gracias por participar en el foro y ayudar a que todo esté ordenado.
Adjuntos
EJEMPLO OCULTAR-MOSTRAR.ods
(8.44 KiB) 2676 veces
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5932
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Como hacer macros para ocultar-mostrar columnas?

Notapor duralai » Jue Sep 13, 2012 4:26 am

Hola Mauricio, gracias ante nada, baje el archivo pero no entiendo bien que debo hacer ahora, se supone que al ejecutar la Macro MostrarOcultarColumnas se debe Mostrar-Ocultar el área V1:Z1???? Perdona mi ignorancia al respecto, yo por las dudas puse a bajar la ultima versión de Ooo ya que la que hay en esta PC es antigua y creo que anda mal.

Otra cosa, para Mostrar-Ocultar un área debo hacer 2 macros? 1 Mostrar y otra Ocultar?

Después para asignarla aun botón leeré como hacer, yo no lo marque en el ejemplo pero hay un área fija que nunca se ocultaría y ahí quisiera poner los botones, igual no sabia que se podía hacer una barra para esto, pero a esto lo veré después, primero quiero saber bien como hay que hacer para grabar una macro Mostrar-Ocultar columnas.

Por ultimo, una vez me dijiste en una respuesta que el Grabador de Macros debe usarse para cosas realmente simples, que es mejor escribir el código para las macros, para esto de Mostrar-Ocultar que pensas, me conviene usar el grabador?
OpenOffice.org 3.3 , XP Profesional
duralai
 
Mensajes: 120
Registrado: Jue Mar 03, 2011 2:24 am

Re: Como hacer macros para ocultar-mostrar columnas?

Notapor mauricio » Jue Sep 13, 2012 4:32 am

duralai escribió: para esto de Mostrar-Ocultar que pensas, me conviene usar el grabador?

Te conviene usar la macro que te pase, ya hace todo el trabajo, la macro alterna el estado visible del rango pasado, si esta oculto lo muestra, si esta visible lo oculta... solo asegurate de pasarle un rango valido, no importan las filas, solo que sea un rango valido, con los siguientes rangos pasados como en el ejemplo que te muestro hacen lo mismo:

A1:Z1
A10:Z20

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5932
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Como hacer macros para ocultar-mostrar columnas?

Notapor duralai » Jue Sep 13, 2012 5:30 am

Mauricio, cuando ejecuto la macro me sale un mensaje de error: Se ha producido un error de marco de programación al ejecutar el comando Standard.Module1.MostrarOcultarColumnas escrito en Basic.
Mensaje: wrong number of parameters.
Aclaro que solo baje el archivo y sin tocar nada ejecute la Macro, no se si debía cambiar algo o no....
Recién acabo de instalar la ultima versión de Ooo Apache, y ya había instalado la ultima de Java y puesto la opción de Seguridad de Macros en "BAJO" ya que no se me ejecutaba.
OpenOffice.org 3.3 , XP Profesional
duralai
 
Mensajes: 120
Registrado: Jue Mar 03, 2011 2:24 am

Re: Como hacer macros para ocultar-mostrar columnas?

Notapor duralai » Jue Sep 13, 2012 5:49 am

Hola, perdón por error ejecute otra macro, no me di cuenta que debía ejecutar la macro "pruebas" , ahora lo hice y funciona bien, ahora me faltaría saber como asociarla a un botón y a una barra, después veré cual de las 2 opciones uso, así que si podes bienvenida una ayuda.

Igualmente estoy leyendo ahora por la web un poco mas sobre macros, una vez había empezado a leer un libro tuyo pero como recién empezaba no entendía nada.

Muchas gracias.
OpenOffice.org 3.3 , XP Profesional
duralai
 
Mensajes: 120
Registrado: Jue Mar 03, 2011 2:24 am

Re: Como hacer macros para ocultar-mostrar columnas?

Notapor SLV-es » Jue Sep 13, 2012 7:41 am

Hola

Si en lugar de ocultar-mostrar prefieres agrupar por columnas, esta macro lo permite:

Código: Seleccionar todo   Expandir vistaContraer vista
Sub Main
Dim oDoc as Object
  oDoc = ThisComponent
  Columnas_Agrupar oDoc, 5, 7
End Sub


Sub Columnas_Agrupar( oDoc, nColIni, nColFin )
'--------------------------------------------------------------------------------------------
' Agrupa las columnas desde nColIni hasta nColFin
Dim oRango As New com.sun.star.table.CellRangeAddress
   With oRango
      .Sheet = oDoc.getCurrentController.getActiveSheet.getRangeAddress.Sheet
      .StartColumn = nColIni
      .EndColumn = nColFin
   End With
   oDoc.getCurrentController.getActiveSheet.Group( oRango, 0 )
End Sub


Saludos
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
Avatar de Usuario
SLV-es
 
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España

Re: Como hacer macros para ocultar-mostrar columnas?

Notapor duralai » Jue Sep 13, 2012 9:30 am

Hola Salva, bueno gracias!
OpenOffice.org 3.3 , XP Profesional
duralai
 
Mensajes: 120
Registrado: Jue Mar 03, 2011 2:24 am

Re: Como hacer macros para ocultar-mostrar columnas?

Notapor duralai » Jue Sep 13, 2012 7:24 pm

Como tendria que hacer para crear una nueva Macro?
Yo me imagine que debia ir a Herramientas-Macros-Organizar macros-OpenOffice.org Basic
luego ir a la hoja y modulo donde quiero que se grabe, NUEVO y ahi copiar el codigo.
hago todo esto pero se me abre una macro ya creada anteriormente.
OpenOffice.org 3.3 , XP Profesional
duralai
 
Mensajes: 120
Registrado: Jue Mar 03, 2011 2:24 am

Re: Como hacer macros para ocultar-mostrar columnas?

Notapor mauricio » Jue Sep 13, 2012 7:42 pm

En mi libro viene explicado: viewtopic.php?f=50&t=1545
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5932
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Como hacer macros para ocultar-mostrar columnas?

Notapor duralai » Jue Sep 13, 2012 7:57 pm

Ok, gracias lo vere, por ultimo, con la macro que me diste, se puede hacer que se Muestren-Oculten a la vez áreas separadas de una hoja, por ejemplo F1:K1 , M1:T1 y AA1:AG1?
OpenOffice.org 3.3 , XP Profesional
duralai
 
Mensajes: 120
Registrado: Jue Mar 03, 2011 2:24 am

Re: Como hacer macros para ocultar-mostrar columnas?

Notapor SLV-es » Jue Sep 13, 2012 8:46 pm

Y también lo tienes en mi web, en el área dedicada al Basic de OpenOffice.
Saludos
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
Avatar de Usuario
SLV-es
 
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España

Re: Como hacer macros para ocultar-mostrar columnas?

Notapor duralai » Jue Sep 13, 2012 8:59 pm

Bueno, tbn lo veré, gracias.
OpenOffice.org 3.3 , XP Profesional
duralai
 
Mensajes: 120
Registrado: Jue Mar 03, 2011 2:24 am

Re: Como hacer macros para ocultar-mostrar columnas?

Notapor mauricio » Jue Sep 13, 2012 9:30 pm

Código: Seleccionar todo   Expandir vistaContraer vista
Call MostrarOcultarColumnas("F1:K1")
Call MostrarOcultarColumnas("M1:T1")
Call MostrarOcultarColumnas("AA1:AG1")
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5932
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX


Volver a Principiantes

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados