Je voudrais faire quelque chose comme ajouter une propriété nice-to-Excel-fonctions Name
à la classe WorkBook
. Y at-il un bon moyen de le faire?Ajouter une propriété à la classe VBA existante
Problème plus détaillé: Dans VBA, vous pouvez affecter une formule à une plage dans une feuille de calcul Excel. Je veux faire ainsi, et je veux que ma formule se rapporte à un deuxième classeur, qui est un objet appelé wb
dans mon code. J'utilise ensuite wb.Name
pour affecter une formule à une plage.
Le problème se pose lorsque wb.Name
comporte une guillemet simple. Ensuite, vous liquidez avec quelque chose comme ceci:
=MONTH('[Ryan's WB]Sheet1'A1)
dans la feuille de calcul, qui échoue parce que le seul citation dans le nom du classeur correspond au premier guillemet simple.
Ce que je voudrais est une propriété FunName
pour la classe WorkBook
qui remplace toutes les guillemets simples dans la propriété Name
avec deux guillemets simples et renvoie cela. Ensuite, la formule ci-dessus serait bien le vent ressembler
=MONTH('[Ryan''s WB]Sheet1'A1)
Absolument parfait! Ceci est exactement ce que je cherchais. Je vous remercie! –
OK, presque parfait. Il apparaît maintenant que les objets wbClass ont uniquement accès à la propriété FunName. Est-il possible de conserver l'intégralité de l'objet WB d'origine et d'ajouter la propriété FunName? –
Malheureusement, VBA ne supporte pas l'héritage, vous devez répliquer tout ce que vous voulez. (Personnellement, je voudrais simplement ajouter une fonction normale pour ce faire, plutôt que d'étendre les objets). – dbb