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