Comment obtenir un nom de contrôle par son nom?
J'ai une fonction simple où il y a une zone de liste modifiable. Si la zone de liste déroulante la valeur est égale à "Désactiver", je vais désactiver la zone de texte B. Il y a beaucoup de zones de liste déroulante avec leurs correspondants de zone de texte B, disposées en rangées et nommé par la main. Si la boîte combo d'Un nommé Product1
, la zone de texte B sera nommé Product1_status
Je pensais à quelque chose comme:
If value_of_a = "disable" Then
Dim name_of_b as String
name_of_b = Me.Combo.Name + "_status"
get_object_by_name(name_of_b).Enabled = False
End If
Comment puis-je faire cela?
OriginalL'auteur Damon Aw | 2012-09-08
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas comment vous appelez cela, mais voici une procédure qui devraient vous aider:
EDIT: j'ai vraiment hate de la feuille de calcul contrôles - je commencer à partir de zéro à chaque fois que je programme! Néanmoins, je pensais que je voudrais ajouter ce sous-programme qui remet chaque zone de texte dont le nom correspond à la formulation du Produit de besseymd _status, selon ses jumelé zone de liste déroulante. La logique ne supposent que les noms de commencer avec Produit1, Produit2, etc., sans un décalage dans la numérotation:
OriginalL'auteur Doug Glancy
VBA
Edit: (Changement de macro VBA)
VB.Net
Code pour VB.Net si quelqu'un la veut pour cette raison:
Return
- le VBA équivalent seraitSet GetControl = ctrl
Ahh ok merci, je vais modifier ma réponse. Désolé combat.
Merci pour la réponse. Je trouve que les deux réponses en grande partie ce que je voulais faire, c'est juste que Doug est un miroir de mon scénario de plus près.
Oui c'est très bien. Bonne chance!
OriginalL'auteur Nate-Wilkins