yyyy number funcion formatnumber form vba forms resize pixels

number - ¿Cuáles son las unidades para anchuras y alturas de forma en VBA?



vba format date dd mm yyyy hh mm ss (2)

Al manipular controles en formularios a través del código, los tamaños están en twips por defecto (creo que si cambias la propiedad ScaleMode del formulario puedes elegir usar otra unidad).

Su fórmula de conversión es incorrecta (es fácil equivocarse). Pruebe esto, envuelto en una función para evitar la duplicación de código con potencial para errores ortográficos en cada duplicado

Function nTwipsFromPixelsX(ByVal nPixels As Long) As Long nTwipsFromPixels = TwipsPerPixelX() * nPixels End Function

Estoy programando VBA para Word 2007.

Creé un UserForm que necesito redimensionar con script.

Noté que no son píxeles

Me.Width = pixelW // form appears about 20% larger than the pixel width

Y no es twips tampoco

Me.Width = (((1 / TwipsPerPixelX()) * pixelW)) / 1) // form appears very small

Entonces, ¿cómo se miden el ancho y la altura de forma en Office 2007 VBA?


Al usar VBA for Access, generalmente se expresan tamaños en twips y / o centímetros, dependiendo de si los administra desde la interfaz del usuario (centímetros) o desde el código (twips). Como ejemplo, puede establecer el tamaño de columna para un control de cuadro combinado en centímetros (ingresando los valores correspondientes en las propiedades del control cuando el formulario está en modo de diseño) o en twips (actualizando estos valores desde el código mientras el formulario está abierto) .

Supongo que esto también se aplicará a VBA para Word. Te aconsejo que escribas ambas funciones cmToTwips y TwipsToCm para hacer tus conversiones de medidas