Officefull.es

Excel, word, powerpoint, android

Objetos Excel [Excel Objects] Febrero 17, 2009

Macro Funciones MS Excel 4.0

Los objetos adquieren un papel fundamental en nuestras aplicaciones de office. En el artículo de hoy os mostramos como podéis compendiar un conjunto de objetos insertados en un Libro de Excel:

  • Tipos
  • Nombre
  • ID (Index)
  • Clase de objeto insertado (Sí es un comentario, una imagen, control de formulario,…)
  • En qué celda está situado
  • Si tiene alguna celda vinculada
  • El valor del control y Texto asociado al objeto…

Desarrollo del archivo ( Objetos incrustados – No VBA )

En la apertura del archivo al tratarse de Macro funciones 4.0 nos puede pedir que habilitemos el contenido para su correcto funcionamiento.

Tenemos el archivo de ejemplo, en el que se encuentran los siguientes objetos:

  • Comentarios
  • Imágenes
  • Controles de Formulario

Pudiéndose ampliar a Autoformas y gráficos embebidos.

Se crea una Zona de resumen para llevar un control de los objetos insertados en el Archivo:

Columna [ A ]:  Nombre del control que se ha asignado por defecto al insertar el objeto en la hoja de Excel ó bien que nos muestre el nombre del control que nosotros le hayamos asignado.

=SI(FILAS(A$2:A4)>CONTARA(Objetos),"",INDICE(Objetos,FILAS(A$2:A4)))

Columna [ B ]:  Identificador de retorno del objeto (Un botón, un comentario, una imagen, un cuadro combinado, etc…)

=SI(A4<>"",ObjeTipo,"")

Columna [ C ]: Devuelve el Nombre real que por defecto aplica Excel.

=SI(A4<>"",ObjeNombre,"")

Columna [ D ]: Devuelve el ID del objeto insertado que por defecto aplica Excel.

=SI(A4<>"",ObjeIndice,"")

Columna [ E ]: Devuelve el Nombre real del objeto insertado.

=SI(A4<>"",ObjeClase,"")

Columna [F:I ]: Devuelve la posición del objeto en hoja de excel y si lleva vinculación con alguna celda.

=SI(A4<>"",ObjeCelda,"")

=SI(ESERROR(ObjeSource),"",ObjeSource)

=SI(ESERROR(ObjeLink),"",ObjeLink)

Columna [ J ]: Devuelve el Valor del objeto (cuadro combinado indicara cual de la lista esta seleccionado, en la casilla de verificación [ 1 activada – 0 no activada ]).

=SI(ESERROR(ObjeStatus),"",ObjeStatus)

Columna [ K ]: Mostrará el texto asociado al objeto.

SI(ESERROR(ObjeTexto),"",ObjeTexto)

Área de objetos

 

Nombres definidos Macro Funciones Excel 4.0

ObjeCelda =FORMULA.CONVERTIR(INDICAR.OBJETO(4,!$A17),0,1,4) ObjeCelda2 =FORMULA.CONVERTIR(INDICAR.OBJETO(7,!$A18),0,1,4) ObjeClase =INDICAR.OBJETO(50,!$C19) ObjeIndice =INDICAR.OBJETO(49,!$A2) ObjeLink =FORMULA.CONVERTIR(INDICAR.FORMULA(""&!$C5&""),0,1,4) ObjeNombre =INDICAR.OBJETO(51,!$A22) ObjeSource =SUSTITUIR(INDICAR.OBJETO(73,Objetos!$C23),"$","") ObjeStatus =INDICAR.OBJETO(62,!$C24) ObjeTexto =INDICAR.OBJETO(12,!$C20) ObjeTipo =INDICAR.OBJETO(1,!$A21) Objetos =INDICAR.DOCUMENTO(42,INDICAR.LIBRO(38+0*HOY()))

El motor de las ” viejas ” Macro funciones de Excel 4.0 continúan teniendo la misma potencia… nada que envidiar a las nuevas macros VBA !!

Descarga de Archivo para pruebas

 Objetos incrustados (NO VBA) (10.6 kB )

Enlaces de Interés

Tanto las funciones como los argumentos comentados en el ejemplo…provienen de los manuales de las macro-funciones de excel versión 4.0 (anteriores a la aparición de VBA para macros en aplicaciones windows)
Si no tienes disponibles los manuales de la versión 4.0 de excel… se pueden obtener los archivos de ayuda de las macro-funciones de esa versión, (en el viejo formato de ayuda de windows *.chm) visitando los siguientes enlaces

XL97: Archivo disponible Macro97.exe en Servicios electrónicos

http://support.microsoft.com/kb/e143466/

Archivo de Macrofun.exe disponible en Servicios electrónicos

http://support.microsoft.com/kb/e128185/

Categorías: Sin categoría

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *