Identifier et remplir une listbox
C'est une énigme pour moi: quelle est la syntaxe pour remplir une listbox? Mais d'abord: comment identifier une listbox? Dans de nombreux forums, j'ai lu: ListBox1.Additem
... Mais comment savent-ils que c'est "ListBox1'?
OriginalL'auteur jroeleveld | 2011-12-31
Vous devez vous connecter pour publier un commentaire.
C'est le nom par défaut d'une
ListBox
de contrôle lorsque vous l'ajoutez à votre formulaire. VB et VBA automatiquement un nom les nouveaux ou non à des contrôles avec le nom de la type de contrôle, suffixé par un identifiant entier.C'est complètement hors de propos, ce que votre contrôle est appelé. Le point de l'exemple de code est pour expliquer un concept. Vous devez remplacer
ListBox1
avec quel que soit votre contrôle est nommé.Et vous devriez certainement nom de vos commandes à quelque chose autre que le défaut, parce que, comme vous l'observez ici, ce n'est pas très descriptif.
Il utilisé pour être recommandé par tout le monde au nom des contrôles à la suite de certains type de quasi-notation hongroise avec un 3-lettre préfixe indiquant le type de contrôle, suivi par votre nom descriptif. Au cours des dernières années, il y a eu une grosse réaction contre tout ce qui ressemble à la notation hongroise, mais je pense que c'est toujours utile en ce qui concerne le nommage contrôles d'interface utilisateur graphique, j'ai donc toujours l'utiliser. Pour un
ListBox
de contrôle, je pourrais l'appeler quelque chose comme:lstCustomers
oulstItemsForSale
. Mais c'est complètement optionnel: encore une fois, que vous choisissez le nom de votre contrôle n'est pas pertinent pour comment fonctionne le code ou comment l'application va se comporter.Donc, pour remplir une listbox en VB 6 et/ou VBA, vous pouvez utiliser le code suivant, où
myListBox
est le nom de votreListBox
de contrôle:Je ne comprends pas cette remarque.
ListBox
a plus de propriétés queCommandButton
. Les deux ont la propriété(Name)
avec la valeur par défaut de "ListBox1" ou "CommandButton1" prêt pour le remplacement.Oui, mais comment puis-je faire le suivi de ce nom? Comment pourrais-je le chercher (dans Word)?
À partir de Word: (1) Outils -> Macro -> Visual Basic Editor (Alt+F11). (2) Insertion -> objet UserForm. (3) Ajouter une zone de liste à la Forme de la boîte à outils. (4) Cliquez sur F4 pour afficher la Fenêtre de Propriétés. (5) La propriété top est (Nom). Si vous répondez veuillez inclure @TonyDallimore donc je me suis dit que vous aviez répondu.
OriginalL'auteur Cody Gray
ListBox1.AddItem
est pour le chargement d'une seule colonne ListBox (CodyGrey réponse du couvre que).Si vous êtes en utilisant un multi colonne ListBox (propriété
.ColumnCount
> 1), alors vous avez besoin pour charger un Tableau dans.List
. L'extrait de code suivant charge 3 lignes dans une colonne 2 ListBoxAccéder à la Zone de Liste: (cela varie pour les différentes versions de Word, c'est pour l'année 2003)
Pour accéder à la liste des propriétés:
AddItem
est très pratique mais comme Chris points, c'est pas l'usage de multi-colonne de la liste des boîtes.Merci, mais ce n'est pas utile pour Mot :(.
Désolé, raté le " mot " de la balise
OriginalL'auteur chris neilsen
Lors de l'utilisation de VBA dans Access, une bonne façon de remplir l'ensemble de la zone de liste à la fois est d'utiliser la propriété contenu (RowSource) lorsque la zone de liste est une liste de valeurs. La méthode AddItem est un peu lent lors de l'ajout d'un grand nombre d'entrées.
Par exemple, pour remplir une liste de fichiers d'un répertoire, vous pouvez utiliser:
OriginalL'auteur Bill