• 👏 Bienvenido a nuestra comunidad Excel

    ¿Todavía no estás registrado? 😲

    Registrate gratis aquí y podrás:

    💪 Hacer preguntas a los expertos
    ⬇️ Descargar ejemplos y plantillas
    🏅 
    Acceder a contenidos premium

Posición de Controles en Relación al Formulario

josemrosad

New member
Buen día

Necesito de su colaboración a fin de saber si se puede determinar la posición de un control en relación a su formulario y no respecto a su contenedor. ya que, si usamos las propiedades top y left de dicho control (por Ejemplo un TextBox) obtendremos las distancia de éste en relación a su contenedor (por Ejemplo un Frame) y no con respecto al formulario (Ver imagen - Flechas Rojas), gracias de antemano por la posible solución a la que me puedan orientar.
PosicionVBA.png
 

Cacho R

Well-known member
Hola! José. Tomando como referencia tu ejemplo, el Top del textBox respecto del formulario es:

= Frame1.Top + Frame2.Top + TextBox1.Top

E ibídem con el Left

Saludos, Cacho R.
 

josemrosad

New member
Hola! José. Tomando como referencia tu ejemplo, el Top del textBox respecto del formulario es:

= Frame1.Top + Frame2.Top + TextBox1.Top

E ibídem con el Left

Saludos, Cacho R.
Gracias por tu respuesta Cacho, estoy claro que con la suma de las propiedades Top y Left de cada contenedor puedo acercarme a la posición que deseo, sin embargo con ese método no obtengo el valor exacto, porque te recuerdo, que los frame tienen ademas unos margenes internos, los cuales se consiguen con .InsideWidth y .InsideHeight, mi inquietud se extiende un poco mas allá, y es el hecho de que cada tipo de contenedor maneja sus margenes interno de diferente forma, te pongo otro ejemplo los MultiPage. De ahí mi interés en conocer si existe alguna otra forma de obtenerlos de manera automática y no manual, y que ademas tome en cuenta los margenes internos de cualquier tipo de contenedor, espero haberme explicado bien. te agradezco tu aporte y el interés por ayudarme.
 

Cacho R

Well-known member
... y que ademas tome en cuenta los margenes internos de cualquier tipo de contenedor, espero haberme explicado bien.
Tenés razón: ¡No había considerado ese detalle!
De lo que estoy seguro es que ninguna combinación de propiedades dentro del VBA te puede dar esa info. Sin ir más lejos: si al Caption del Frame le cambiás el tamaño de sus letras, la posición del textBox (para tu ejemplo) cambia.
Además la propiedad InsideHeight no te aporta mayor info pues no se puede saber -a priori- cuanto espacio se dedica al top o al bottom del frame.
 
Arriba