Quelles sont les unités pour former des largeurs et des hauteurs de VBA?
Je suis à la programmation VBA pour Word 2007.
J'ai créé un UserForm qui j'ai besoin de redimensionner avec un script.
J'ai remarqué que ses pas de pixels
Me.Width = pixelW // form appears about 20% larger than the pixel width
Et ses pas twips soit
Me.Width = (((1 / TwipsPerPixelX()) * pixelW)) / 1) // form appears very small
Alors, comment sont-forme de largeurs et de hauteurs mesurées dans Office 2007 VBA?
OriginalL'auteur Robinicks | 2010-02-28
Vous devez vous connecter pour publier un commentaire.
Lors de la manipulation des contrôles sur les formulaires à l'aide de code les tailles sont en twips par défaut (je crois que si vous changez la forme de la propriété ScaleMode vous pouvez choisir d'utiliser une autre unité).
Votre formule de conversion est fausse (il est facile de se tromper). Essayez ceci, enveloppé dans une fonction afin d'éviter la duplication de code avec un potentiel pour les fautes de frappe dans chaque double
OriginalL'auteur MarkJ
Lors de l'utilisation de VBA pour Access, vous expriment habituellement tailles en twips et/ou en centimètres, en fonction de si vous les gérer à partir de l'interface utilisateur (en centimètres) ou à partir du code (en twips). Comme un exemple, vous pouvez définir la taille de la colonne pour un contrôle zone de liste déroulante en centimètres (en entrant les valeurs correspondantes dans les propriétés du contrôle lorsque le formulaire est en mode conception) ou en twips (par la mise à jour de ces valeurs à partir du code lorsque le formulaire est ouvert).
Je suppose que cela s'applique également à VBA pour Word. Je vous conseille d'écrire à la fois cmToTwips et TwipsToCm fonctions pour rendre votre mesure conversions
OriginalL'auteur Philippe Grondier