7
votes

Réduire la taille de la police par 1 étape dans VBA

Y a-t-il un moyen simple de réduire la taille de la police dans Word / Excel, etc. par 1 étape dans VBA?

Donc, dites si ma taille de police était de 48 ans, puis-je le réduire à 36, facilement, selon la chute de police Dans le groupe de polices Standard Word 2007, plutôt que de réduire la taille de la police par 12 - Je ne saurai pas ce que la taille de police suivante est ...

donc plutôt que de régler la taille de la police explicitement par flotteur: < / p> xxx

Puis-je faire quelque chose comme: xxx


3 commentaires

Pourquoi veux-tu faire cela? Pourquoi est-il si important d'obtenir la même tailles de police que celles énumérées dans la liste déroulante?


Hmph, clients. Permettez-moi de reformuler: pourquoi le client veut-il faire cela?


J'ajoute une zone de texte à une diapositive PowerPoint de manière programmatique - elles veulent que la taille de la police soit inférieure à 2 "étapes" inférieure au titre de la diapositive. Je n'ai pas mentionné PowerPoint dans ma question originale, car je pensais naïvement je pourrais transférer le mot / Excel code à PowerPoint - La méthode de la rétraction est exactement ce dont j'ai besoin, dommage que ce n'est pas dans PowerPoint: - /


3 Réponses :


3
votes

Utilisez le police code> objet's rétrécir code> Méthode:

MyText.Font.Shrink


3 commentaires

Merci jean-françois, s'il vous plaît voir mes commentaires ci-dessus, Joe


Malheureusement, un autre développeur brillant à Micrillant a décidé que font.shrink et polices.Grow ne doit être disponible que dans Word et non dans PowerPoint ou Excel. Je crains que vous ne soyez coincé en décrémentant votre taille de police en étapes arbitraires, par exemple. mytext.font.size = mytext.font.size - 2 . Pas que les tailles de police énumérées dans la liste déroulante sont moins arbitraires ...


Bien sûr, savez-vous de quelque manière que je peux arriver à la liste des formats de police. Merci beaucoup



3
votes

Vous pouvez Grow et Rétrécir polices.


1 commentaires

Merci ANDERS, c'est exactement ce dont j'ai besoin. Je dois aussi le faire dans PowerPoint 2007 Toutefois - et la méthode de rétraction n'est pas disponible sur une forme de zone de texte, donc 'myTextbox.textframe.textrange.font.size.shrink' n'est pas disponible - msdn.microsoft.com/en-us/library/bb251433 (v = bureau.12 ) .aspx - Des idées? Merci beaucoup, Joe



6
votes

Pour Excel, vous pouvez vérifier la taille de la police ComboBox dans la barre d'outils de formatage. C'est en 2003 et je pense que cela fonctionnera toujours en 2007 et au-delà, mais je ne l'ai pas disponible pour tester. XXX


2 commentaires

Brillant! +1 Notez que cela ne fonctionnera pas si la taille de la police initiale ne fait pas partie de la liste, par exemple. Si c'est 17 ans. Modifier le si ctl.list (i)> = rng.font.size alors pour gérer de tels cas.


Bon JFC. Code édité pour le retirer au niveau suivant quand il est compris entre.