Puis-je faire une boucle par paires clé/valeur dans un VBA collection?
Dans VB.NET, je peux parcourir un dictionnaire de paires clé/valeur:
Dictionary<string, string> collection = new Dictionary<string, string>();
collection.Add("key1", "value1");
collection.Add("key2", "value2");
foreach (string key in collection.Keys)
{
MessageBox.Show("Key: " + key + ". Value: " + collection[key]);
}
Je sais en VBA, je peux parcourir le valeurs d'un objet de Collection:
Dim Col As Collection
Set Col = New Collection
Dim i As Integer
Col.Add "value1", "key1"
Col.Add "value2", "key2"
For i = 1 To Col.Count
MsgBox (Col.Item(i))
Next I
Je sais aussi que je fais cela avec un Script.Dictionnaire d'objet VBA, mais je me demandais si cela est possible avec les collections.
Puis-je parcourir paires clé/valeur dans un VBA collection?
Que je sache, vous ne pouvez pas..Vous devriez utiliser
Dictionary
si vous voulez parcourir les paires clé/valeur..OriginalL'auteur Peter Rankin | 2014-01-29
Vous devez vous connecter pour publier un commentaire.
vous ne pouvez pas récupérer le nom de la clé à partir d'une collection. Au lieu de cela, vous devez utiliser un Objet Dictionary:
Merci pour le début de la liaison, nouveau Dictionnaire ne fonctionne pas. Mais De Nouveaux Scripts.Dictionnaire fait 😀 Merci encore une fois.
ne fonctionne pas dans mon script VBA. Suis-je besoin d'une lib ou quelque chose?
oui, Microsoft scripting runtime comme mentionné dans le code commenté, ou le commentaire d'une liaison tardive code, aucune référence n'est nécessaire
C'est une excellente réponse et pour le fait que vous avez montré l'exemple avec deux début et à la fin de liaison de la rendre plus claire et aussi d'informer les autres de la différence . Souhaite que je pourrais plus 10 vous!
OriginalL'auteur Peter Albert