Een VBA-woordenboek gebruiken
Een VBA-woordenboek werkt op dezelfde manier als een verzamelingsobject, maar heeft meer eigenschappen en methoden en biedt meer flexibiliteit
Het woordenboek slaat de gegevens op in het geheugen en kan gemakkelijk worden gemanipuleerd. Er is geen automatische berekening, back-up op de achtergrond en schermvernieuwing vereist, dus uw code zal aanzienlijk sneller worden uitgevoerd.
Het woordenboekobject werkt op dezelfde manier als een normaal woordenboek dat u zou gebruiken als u de betekenis van een woord wilt achterhalen. Elk item in het woordenboekobject heeft een 'sleutel'-waarde en een 'item'-waarde. U gebruikt de 'sleutel' de sleutelwaarde om de itemwaarde in het woordenboekobject op te zoeken, op een vergelijkbare manier waarop u een conventioneel woordenboek zou gebruiken.
Vanwege de manier waarop het woordenboekobject werkt, moeten de sleutelwaarden allemaal uniek zijn, op dezelfde manier als in een conventioneel woordenboek. Stel je voor dat je je conventionele woordenboek zou openen om de betekenis van een woord op te zoeken en het woord meer dan eens zou vinden met twee totaal verschillende definities. Je zou erg in de war zijn!
Sleutelwaarden zijn meestal tekst of cijfers, of beide. Gebruikers vinden het vaak gemakkelijker om namen van toetsen te onthouden als tekst in plaats van alleen cijfers.
In vergelijking met een verzamelingsobject is het verzamelingsobject alleen-lezen. Het heeft slechts twee methoden (Toevoegen en Verwijderen) en twee eigenschappen (Aantal en Item). Nadat een item aan een collectieobject is toegevoegd, kan het alleen worden verwijderd, maar niet worden bewerkt, wat een omslachtige procedure is als de waarde van een item moet worden gewijzigd.
Een woordenboekobject verandert automatisch in grootte, afhankelijk van het aantal items erin. Het hoeft niet te worden gedefinieerd in grootte, zoals een conventionele array
Het woordenboekobject is eendimensionaal en het gegevenstype is 'Variant', dus elk gegevenstype kan erin worden ingevoerd, b.v. numeriek, tekst, datum
Het VBA-woordenboek is niet native voor Excel en moet worden geopend door vroege of late binding bij het definiëren van het woordenboekobject
123 | Sub EarlyBindingExample()Dim MyDictionary als nieuwe Scripting.DictionaryEinde sub |
1234 | Sub LateBindingExample()Dim mijn woordenboek als objectStel MyDictionary = CreateObject ("Scripting.Dictionary") inEinde sub |
Als u de vroege binding gebruikt, moet u een verwijzing naar de bibliotheek 'Microsoft Scripting Runtime' toevoegen
Dit doe je door op ‘Extra | References' op de menubalk van het Visual Basic Editor (VBE)-venster en er verschijnt een pop-upvenster met een lijst met beschikbare bibliotheken.
Scroll naar beneden naar 'Microsoft Scripting Runtime' en vink het vakje ernaast aan. Klik op OK en deze bibliotheek maakt nu deel uit van uw VBA-project en er kan naar worden verwezen met vroege binding. Alle voorbeelden van code in dit artikel gebruiken vroege binding.
Je code zal aanzienlijk sneller lopen met vroege binding, omdat het allemaal van tevoren wordt gecompileerd. Bij late binding moet het object worden gecompileerd terwijl de code wordt uitgevoerd
De Scripting Runtime-bibliotheek heeft 'Intellisense'. Terwijl u uw code schrijft, ziet u lijsten met beschikbare methoden en eigenschappen verschijnen, wat helpt voorkomen dat er spelfouten worden gemaakt, die fouten in uw programma veroorzaken
Als u in de VBE op F2 drukt en de bibliotheek 'Scripting' selecteert, ziet u ook alle beschikbare methoden en eigenschappen en de vereiste parameters voor elk
Uw Excel-toepassing met een woordenboek distribueren
Zoals reeds opgemerkt, maakt de Scripting Runtime-bibliotheek geen deel uit van Excel VBA, dus als u uw toepassing onder andere gebruikers distribueert, moeten zij toegang hebben tot de Scripting Runtime-bibliotheek op hun computer. Als dat niet het geval is, treedt er een fout op.
Het is een goed idee om wat VBA-code op te nemen om te controleren of deze bibliotheek aanwezig is wanneer uw Excel-toepassing wordt geladen. U kunt de opdracht 'Dir' gebruiken om dit te doen op de gebeurtenis 'Werkmap openen'
De locatie van het bestand is C:\Windows\SysWOW64\scrrun.dll
Reikwijdte van een woordenboekobject
Het object Woordenboek is alleen beschikbaar als de Excel-werkmap is geopend. Het wordt niet opgeslagen wanneer de werkmap wordt opgeslagen.
Als uw woordenboek beschikbaar moet zijn voor alle routines in uw module, moet u het declareren (Dim) in het gedeelte Declareren helemaal bovenaan de module
U definieert het als een globaal object als u wilt dat uw woordenboek in uw hele code wordt gebruikt.
1 | Global MyDictionary als nieuw woordenboek |
Invullen en lezen uit uw woordenboek
Om te beginnen moet je een woordenboek maken, het vullen met wat gegevens en het vervolgens doorlopen om te bewijzen dat de gegevens bestaan
1234567891011 | Sub PopulateReadDictionary()Dim MyDictionary als nieuwe Scripting.DictionaryMijnWoordenboek.Toevoegen "MijnItem1", 10MijnWoordenboek.Toevoegen "MijnItem2", 20MijnWoordenboek.Toevoegen "MijnItem3", 30Voor n = 0 Naar MyDictionary.Count - 1MsgBox MyDictionary.Keys(n) & " " & MyDictionary.Items(n)volgende nrEinde sub |
Deze code maakt een nieuw woordenboekobject met de naam 'MyDictionary' en vult het vervolgens met drie items. De methode Toevoegen heeft twee parameters - Sleutel en Item, en ze zijn beide vereist
De gegevenstypen voor Sleutel en Item zijn beide varianten, dus ze accepteren elk type gegevens - numeriek, tekst, datum, enz.
Het eerste item in het woordenboek kan worden toegevoegd als:
1 | MyDictionary.Add 10, "MyItem1" |
De waarden zijn omgekeerd tussen Sleutel en Item, maar dit zou nog steeds werken, hoewel de zoeksleutel nu 10 zou worden.
Het is echter belangrijk om te begrijpen dat de sleutelwaarde de opzoekwaarde in het woordenboek is. Het werkt op een vergelijkbare manier als de functie VERT.ZOEKEN in Excel. Omdat alle sleutels unieke waarden moeten hebben, kunt u een sleutelwaarde opgeven en direct de itemwaarde voor die sleutel retourneren.
Merk op dat de woordenboekindex begint bij 0, dus u moet 1 aftrekken van het aantal woordenboeken dat wordt gebruikt in de For… Next-lus
U kunt ook een For… Each-lus gebruiken om de waarden in het woordenboek te lezen:
1234567891011 | Sub PopulateReadDictionary()Dim MyDictionary als nieuwe scripting.Dictionary, I As VariantMijnWoordenboek.Toevoegen "MijnItem1", 10MyDictionary.Add "MyItem2", 20MyDictionary.Add "MyItem3", 30Voor elke ik in MyDictionary.KeysMsgBox I & " " & MijnWoordenboek(I)volgende ikEinde sub |
Deze code herhaalt elk item en geeft de itemsleutel en de itemwaarde weer
Het artikelindexnummer gebruiken
U kunt het indexnummer van een sleutel of item gebruiken om de waarde te lezen
123456789101112 | Subindexnummers()Dim MyDictionary als nieuwe Scripting.DictionaryMyDictionary.CompareMode = TextCompareMyDictionary.Voeg "Item1", 10 . toeMyDictionary.Add "Item2", 20MyDictionary.Voeg "Item3", 30 . toeMsgBox MyDictionary.Keys(2)MsgBox MyDictionary.Items(1)Einde sub |
Deze code retourneert de sleutel 'item3' aangezien de index begint bij 0, en de itemwaarde 20
U kunt verwijzen naar individuele sleutel- of itemwaarden binnen de Keys- of Items-verzamelingen met behulp van de indexnummers.
Het woordenboek filteren
Er is geen directe methode om dit te doen, maar het is vrij eenvoudig om code te schrijven om dit te doen:
1234567891011 | Subfilterwoordenboek()Dim MyDictionary als nieuwe Scripting.DictionaryMyDictionary.Add "AAItem1", 10MyDictionary.Add "BBItem2", 20MyDictionary.Toevoegen "BBItem3", 30Voor elke I In-filter (MyDictionary.Keys, "BB")MsgBox MyDictionary.Item(I)volgende ikEinde sub |
De filterwaarde werkt alleen vanaf het begin van de sleutelwaarde. U kunt geen jokertekens gebruiken in het filter. Deze code retourneert de twee itemwaarden met sleutelnamen die beginnen met 'BB'
Dit geeft u een subset van het woordenboek op basis van uw filterwaarde, die u vervolgens kunt overbrengen naar een ander woordenboek of een werkblad. Met een zorgvuldige planning van sleutelnamen, en ervoor zorgend dat er voor elk een betekenisvol voorvoegsel is, zou u het woordenboek gemakkelijk in verschillende onderdelen kunnen splitsen.
Een itemwaarde van een sleutel wijzigen
Het woordenboekobject heeft een groot voordeel ten opzichte van een verzameling doordat de itemwaarde kan worden gewijzigd, b.v.
1 | MijnWoordenboek("MijnItem4") = "40" |
In de verzameling zou u dat item moeten verwijderen en vervolgens opnieuw moeten maken.
Hier is een codevoorbeeld:
12345678910111213 | Sub PopulateReadDictionary()Dim MyDictionary als nieuwe Scripting.DictionaryMijnWoordenboek.Toevoegen "MijnItem1", 10MyDictionary.Add "MyItem2", 20MijnWoordenboek.Toevoegen "MijnItem3", 30MijnWoordenboek("MijnItem2") = "25"MijnWoordenboek("MijnItem4") = "40"Voor n = 0 Naar MyDictionary.Count - 1MsgBox MyDictionary.Keys(n) & " " & MyDictionary.Items(n)Volgende nrEinde sub |
De bovenstaande code stelt drie items in het woordenboek in en wijzigt vervolgens de waarde van 'MyItem2' van 20 in 25.
Het verandert ook de waarde van 'MyItem4' in 40. Merk op dat in de add-instructies van de code geen 'MyItem4' is toegevoegd. Wanneer u de waarde wijzigt van een sleutel die niet bestaat, wordt deze automatisch gemaakt. Dit is uiterst handig, omdat er geen fout wordt geactiveerd, maar het betekent wel dat u voorzichtig moet zijn met uw sleutelnamen. Een onbedoelde spelfout in de sleutelnaam zou betekenen dat er een nieuwe sleutel wordt gemaakt en dat de oorspronkelijke sleutelnaam nog steeds de oude waarde heeft.
Dit kan gemakkelijk leiden tot integriteitsproblemen in het woordenboekobject.
Test of een sleutel bestaat
U kunt controleren of er een sleutelwaarde in het woordenboek bestaat
123456789 | Sub CheckExistsDictionary()Dim MyDictionary als nieuwe Scripting.DictionaryMijnWoordenboek.Toevoegen "MijnItem1", 10MyDictionary.Add "MyItem2", 20MijnWoordenboek.Toevoegen "MijnItem3", 30MsgBox MyDictionary.Exists("MyItem8")Einde sub |
De code voegt drie items toe aan een nieuw woordenboekobject en test vervolgens op een sleutel ('MyItem8') die niet in het woordenboek staat. Dit retourneert False, maar als een van de bestaande sleutels was gebruikt, zou het True retourneren
Wildcards worden niet geaccepteerd. Zoektekst is standaard ook hoofdlettergevoelig, maar dit kan worden gewijzigd (zie verderop in artikel)
Meerdere waarden in een woordenboek gebruiken
In tegenstelling tot een array is het woordenboekobject slechts ééndimensionaal. Dit kan tot problemen leiden als u meerdere waarden bij een sleutel wilt plaatsen.
Een manier om dit te omzeilen is om elke itemwaarde samen te voegen met een scheidingsteken tussen elke waarde, b.v. ‘|’
12345678910111213141516171819202122232425262728293031323334 | Sub Meerdere Waarden()'Woordenboekobject en variabelen maken'Dim MyDictionary als nieuwe scripting.Dictionary, V1 As Integer, V2 As StringDim V3 als datum, Temp als string, N als geheel getal'Vul 3 variabelen in om meerdere waarden te demonstreren'V1 = 5V2 = "Voorbeeld van meerdere waarden"V3 = "22-jul-2020"'Voeg de aaneengeschakelde waarde toe aan het woordenboek met '|' scheidingstekenMyDictionary.Add "MyMultipleItem", V1 & "|" & V2 & "|" & V3 & "|"'Vang de aaneengeschakelde woordenboekwaarde uit het woordenboek op in een variabele'Temp = MijnWoordenboek("MijnMultipleItem")'Herhaal door de aaneengeschakelde tekenreeks om de afzonderlijke waarden te scheiden'Doen'Zoek de positie van een scheidingsteken'N = InStr(Temp; "|")'Als er geen scheidingstekens meer zijn de uitgang Do-lus'Als N = 0 Verlaat Do'Tekst weergeven ten opzichte van positie van gevonden scheidingstekenMsgBox Links (Temp, N - 1)'Truncate de aaneengeschakelde string naar het volgende teken na het gevonden scheidingstekenTemperatuur = Midden (Temp, N + 1)LusEinde sub |
Een andere manier om dit probleem te omzeilen, is door uw eigen subscriptsysteem voor sleutelnamen te ontwerpen. Er is geen reden waarom u geen haakjes en cijfers zou gebruiken in sleutelnamen
1234567891011 | Sub Meerdere Waarden()Dim MyDictionary als nieuwe Scripting.DictionaryMyDictionary.Add "Meerdere(1)", 5MyDictionary.Add "Meerdere (2)", "Voorbeeld van meerdere waarden"MyDictionary.Voeg "Meerdere (3)", "22-jul-2020" toeVoor N = 1 tot 3MsgBox MyDictionary("Multiple(" & N & ")")Volgende NEinde sub |
Deze code voegt drie sleutels toe aan het woordenboek, maar elke sleutelnaam bevat een subscriptnummer tussen haakjes. U kunt dan verwijzen naar de sleutelnaam, maar met het subscriptnummer dat is aaneengeschakeld. Dit lijkt erg op het gebruik van een array-object
Items verwijderen
U kunt afzonderlijke items verwijderen door te verwijzen naar de sleutelwaarde
1 | MijnWoordenboek.Verwijderen (“MijnItem2”) |
Merk op dat omdat sleutelnamen uniek zijn, dit alleen die ene bepaalde sleutel en itemwaarde verwijdert
U kunt het woordenboek ook volledig wissen
1 | Mijnwoordenboek.Alles verwijderen |
Hier is een voorbeeld van het gebruik van 'Verwijderen' in VBA:
12345678910111213141516 | Sub RemoveValues()Dim MyDictionary als nieuwe Scripting.DictionaryMyDictionary.Add "Item1", 10MyDictionary.Add "Item2", 20MyDictionary.Voeg "Item3", 30 . toeMijnWoordenboek.Verwijderen ("Item2")Voor N = 0 Naar MyDictionary.Count - 1MsgBox MyDictionary.Keys(N) & " " & MyDictionary.Items(N)Volgende NMijnwoordenboek.Alles verwijderenMsgBox MyDictionary.CountEinde sub |
De code voegt drie items toe aan het woordenboek en verwijdert vervolgens 'Item2'. Het herhaalt vervolgens het woordenboek om te bewijzen dat 'Item2' niet meer bestaat
Ten slotte verwijdert de code alle items in het woordenboek en geeft het aantal woordenboeken weer, dat nu nul is.
Hoofdlettergevoeligheid wijzigen voor zoekopdrachten
Als u naar een sleutel zoekt, is deze standaard hoofdlettergevoelig. U kunt echter de eigenschap 'CompareMode' gebruiken om dit te wijzigen.
Houd er rekening mee dat dit onmiddellijk in de code moet worden gedaan nadat u het woordenboekobject hebt gemaakt, maar voordat u gegevens aan het woordenboek toevoegt. Als de vergelijkingsmodus eenmaal is ingesteld, kan deze binnen dat woordenboek niet meer worden gewijzigd.
12345678910 | Sub ChangeCaseSensitivity()Dim MyDictionary als nieuwe Scripting.DictionaryMyDictionary.CompareMode = TextCompareMyDictionary.Voeg "Item1", 10 . toeMyDictionary.Voeg "Item2", 20 . toeMyDictionary.Voeg "Item3", 30 . toeMsgBox MyDictionary.Exists("item2")Einde sub |
In dit voorbeeld is de vergelijkingsmodus ingesteld op 'TextCompare', wat betekent dat deze niet hoofdlettergevoelig is. De instructie 'Bestaat' aan het einde van het voorbeeld zal True retourneren, ondanks het feit dat de zoektekst allemaal in kleine letters is.
In Excel zijn er slechts twee waarden die kunnen worden gebruikt voor de vergelijkingsmodus. Binair vergelijken is hoofdlettergevoelig en Tekst vergelijken is niet hoofdlettergevoelig
Als u de vergelijkingsmodus hebt ingesteld op Binair vergelijken, moet u voorzichtig zijn bij het benoemen van uw sleutels. Als u een naam instelt met een hoofdletter als eerste teken, moet u er bij het wijzigen van de waarde voor zorgen dat het eerste teken nog steeds een hoofdletter is. Als u begint met een kleine letter, wordt dit geïnterpreteerd als een nieuwe sleutel en kan dit gemakkelijk leiden tot verwarring en fouten in uw woordenboek
Onthoud dat als u een waarde voor een sleutel wijzigt en de sleutelnaam niet bestaat omdat er een binaire vergelijking wordt gebruikt, een nieuwe sleutel en waarde aan het woordenboek worden toegevoegd.
Als u in plaats daarvan Tekst vergelijken gebruikt, gaan alle waardewijzigingen naar de sleutel, ongeacht hoofdletters. Als u hetzelfde item probeert toe te voegen, maar gespeld met een ander hoofdletterteken, krijgt u een foutmelding omdat het al bestaat.
Het woordenboek sorteren
Net als bij het verzamelingsobject is er geen methode om het woordenboek te sorteren, met behulp van sleutels of itemwaarden.
Omdat de VBA-code zich echter in een Excel-werkmap bevindt, kunnen de woordenboekgegevens in tabelvorm naar Excel worden overgebracht en vervolgens kan de Excel-sorteerfunctie erop worden toegepast. Het woordenboek kan vervolgens worden gewist met 'Alles verwijderen' en de gesorteerde waarden toegevoegd vanuit het werkblad.
Deze code sorteert zowel de sleutels als de itemwaarden
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | Sub SortMyDictionary()Dim MyDictionary als nieuw woordenboekDim Teller Zo Lang'Bouw woordenboek met items in willekeurige volgorde'MyDictionary.Voeg "Item5", 5 . toeMyDictionary.Add "Item2", 15MyDictionary.Toevoegen "Item4", 11MyDictionary.Voeg "Item1" toe, 2MyDictionary.Voeg "Item3", 19 . toe'Vast aantal items in woordenboek voor toekomstig gebruik'Teller = MijnWoordenboek.Aantal'Itereer door het woordenboek en kopieer elke sleutel en item naar een opeenvolgende cel op 'Blad1' (kolom A)Voor N = 0 Naar MyDictionary.Count - 1Bladen ("Blad1"). Cellen (N + 1, 1) = Mijn Woordenboek. Sleutels (N)Bladen ("Blad1"). Cellen (N + 1, 2) = Mijn Woordenboek. Items (N)Volgende N'Activeer het Blad1 en gebruik de Excel-sorteerroutine om de gegevens in oplopende volgorde te sorterenSpreadsheets ("Blad1"). ActiverenBereik ("A1:B" & MyDictionary.Count).SelecteerActiveWorkbook.Worksheets("Blad1").Sort.SortFields.ClearActiveWorkbook.Worksheets("Blad1").Sort.SortFields.Add2 Key:=Bereik( _"A1:A5"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _xlSorterenNormaalMet ActiveWorkbook.Worksheets("Blad1").Sorteren.Bereikbereik instellen ("A1:A5").Kop = xlGuess.MatchCase = False.Oriëntatie = xlTopToBottom.SortMethode = xlPinYin.Van toepassing zijnEindigt met'Wis alle items uit het woordenboekMijnwoordenboek.Alles verwijderen'Kopieer de celwaarden terug naar het lege woordenboekobject met behulp van de opgeslagen waarde (teller) voor de 'lus'Voor N = 1 tot tellerMijn Woordenboek. Bladen toevoegen ("Blad1"). Cellen (N, 1). Waarde, Bladen ("Blad1"). Cellen (N, 2). WaardeVolgende N'Herhaal het woordenboek om te bewijzen in welke volgorde de items nu staan'Voor N = 0 Naar MyDictionary.Count - 1MsgBox MyDictionary.Keys(N) & " " & MyDictionary.Items(N)Volgende N'Wis het werkblad (Blad1) - verwijder het indien nodig ookBladen ("Blad1"). Bereik (cellen (1, 1), cellen (teller, 2)). WissenEinde sub |
Deze code maakt een woordenboek met vijf willekeurige volgordewaarden toegevoegd. Het legt het aantal items vast in een variabele en herhaalt vervolgens het woordenboek, waarbij de sleutel- en itemwaarden worden overgebracht naar afzonderlijke kolommen op een werkblad.
Vervolgens sorteert het het gedownloade bereik, waarbij kolom A als sorteerveld wordt gebruikt. Het woordenboek wordt volledig gewist met behulp van de 'RemoveAll'-methode en de code doorloopt vervolgens de celwaarden in het werkblad en voegt ze weer toe aan het woordenboek.
Ten slotte itereert de code door het woordenboek, waarbij de sleutel- en itemwaarden aaneengeschakeld worden weergegeven om te bewijzen dat de sortering heeft gewerkt.
Door de parameters in de sorteercode te wijzigen, konden de gegevens worden gesorteerd op itemwaarden.
Een lijst met toetsen naar een werkblad kopiëren
U kunt een lijst met alle sleutelwaarden naar een werkblad kopiëren met behulp van de volgende code:
12345678910 | Sub CopyKeyList()Dim MyDictionary als nieuwe Scripting.DictionaryMyDictionary.CompareMode = TextCompareMyDictionary.Add "Item1", 10MyDictionary.Voeg "Item2", 20 . toeMyDictionary.Voeg "Item3", 30 . toeSpreadsheets ("Blad1"). Bereik ("A1"). Waarde = Join (MyDictionary.Keys, vbLf)Einde sub |
Dit levert het resultaat op in uw werkblad:
U kunt met deze code een heel woordenboek naar een werkblad kopiëren:
12345678910 | Sub CopyIntoWorksheet()Dim MyDictionary als nieuwe Scripting.DictionaryMyDictionary.Add "Item1", 10MyDictionary.Voeg "Item2", 20 . toeMyDictionary.Voeg "Item3", 30 . toeRange("A1").Resize(MyDictionary.Count, 1) = WorksheetFunction.Transpose(MyDictionary.Keys)Range("B1").Resize(MyDictionary.Count, 1) = WorksheetFunction.Transpose(MyDictionary.Items)Einde sub |
Je werkblad ziet er als volgt uit:
Een woordenboek vergelijken met een verzameling
Het woordenboek is sneller dan een verzameling.
Een collectie is al binnen VBA. Een woordenboek heeft een verwijzing naar de Microsoft Scripting Dictionary nodig om te worden toegevoegd of een object dat is gemaakt met late binding
Een Collectie-item kan maar één keer worden geschreven en meerdere keren worden gelezen. In een Dictionary kan de itemwaarde worden gewijzigd. Bij een Collectie moet het item worden verwijderd en vervolgens wordt het gewijzigde item weer toegevoegd.
De Collectie werkt op indexwaarden, wat moeilijk kan zijn om uit te zoeken welke indexwaarde waar hoort. De Dictionary werkt op unieke sleutelwaarden die worden gebruikt om een item te lokaliseren
Het ophalen van een enkel item is langzamer in een grote collectie dan in een woordenboek
In een verzameling worden de sleutels alleen gebruikt om gegevens op te zoeken en kunnen ze niet worden opgehaald. In een woordenboek kunnen sleutels worden getest op bestaan en kunnen ze worden gebruikt om een bepaald item te vinden.
Collecties zijn hoofdlettergevoelig en dit kan niet worden gewijzigd. In een woordenboek kan de vergelijkingsmodus worden ingesteld om hoofdlettergevoeligheid of niet-hoofdlettergevoeligheid te geven
In een verzameling moeten de sleutelwaarden tekenreeksen zijn. In een Dictionary kunnen ze elk gegevenstype zijn, b.v. numeriek, datum, enz.
Als u alle items in een verzameling verwijdert, moet u het verzamelingsobject opnieuw definiëren. De Dictionary heeft hiervoor de ‘RemoveAll’-methode.