Não consigo encontrar a documentação explicando como criar uma tabela hash ou array associativo no VBA. É mesmo possível?
Você pode criar um link para um artigo ou, melhor ainda, postar o código?
vba
hash
hashtable
associative-array
Tyler
fonte
fonte
Respostas:
Acho que você está procurando o objeto Dictionary, encontrado na biblioteca do Microsoft Scripting Runtime. (Adicione uma referência ao seu projeto no menu Ferramentas ... Referências no VBE.)
Funciona muito bem com qualquer valor simples que possa caber em uma variante (chaves não podem ser arrays e tentar transformá-las em objetos não faz muito sentido. Veja o comentário de @Nile abaixo).
Você também pode usar o objeto Coleção VBA se suas necessidades forem mais simples e você quiser apenas chaves de string.
Não sei se algum dos dois realmente faz hash em alguma coisa, então você pode querer cavar mais se precisar de um desempenho semelhante a hashtable. (EDIT: Scripting.Dictionary usa uma tabela hash internamente.)
fonte
Empty
. Eu editei a resposta de acordo.Eu usei a classe HashTable de Francesco Balena várias vezes no passado, quando uma coleção ou dicionário não era um ajuste perfeito e eu só precisava de uma HashTable.
fonte
Tente usar o objeto Dicionário ou o objeto Coleção.
http://visualbasic.ittoolbox.com/documents/dictionary-object-vs-collection-object-12196
fonte
Vamos lá ... basta copiar o código para um módulo, está pronto para usar
Para usar em seu aplicativo VB (A):
fonte