les listes et les tableaux en VBA
Je suis très nouveau à l'écriture dans VB.NET et je n'ai même pas compris qu'il y avait une différence significative entre les VB.NET et VBA. J'ai écrit mon application dans Visual Studio, mais j'ai réalisé que j'ai besoin de le porter au cours de VBA dans Outlook, et il y a quelques problèmes de syntaxe que j'ai besoin de traiter avec. J'ai déjà cherché, mais je ne trouve aucune sorte de référence absolue (comme la msdn) pour VBA ou même VB6, qui d'après ce que j'entends, c'est beaucoup plus proche de VBA que VB.NET.
Je vais inclure les sections pertinentes du code ici. Si quelqu'un a besoin de plus de contexte, s'il vous plaît laissez-moi savoir, je peux poster le tout, il n'est pas si long. Je tiens à garder ce post aussi simple que possible, mais.
Dim DateToday As String = String.Format("0:{yyyy/MM/dd}", DateTime.Now)
Dim Computers As New SortedList()
Dim disabledList As New List(Of String)
'\\ four additional lists
Dim compArray As Array
...
Computers.Add(ComputerName, ErrorState)
Les nouvelles listes et la liste triée donner Prévu: Fin de Déclaration à la parenthèse après la Liste. Le tableau donne Attendu: identificateur au Tableau. La chaîne DateToday donne une fin prévue de la déclaration du signe égal. La tentative d'ajouter à la liste triée donne un Attendu: =.
J'ai travaillé avec VB.NET pour peut-être deux ou trois jours, et je n'ai jamais travaillé avec VBA ou VB6 avant, je viens donc de ne pas avoir l'expérience nécessaire pour savoir où aller à partir d'ici. Si l'un de vous serait prêt à m'aider, je voudrais vraiment l'apprécier!
Si vous êtes à la recherche de références, MSDN n'ont, en effet, une documentation complète pour VBA : msdn.microsoft.com/en-us/library/gg278934%28v=office.14%29.aspx
Vous pouvez commencer avec la référence du langage VBA sur MSDN: msdn.microsoft.com/en-us/library/office/...
Votre liste est-elle vraiment besoin de tri? En outre, vous pouvez utiliser VB.Net avec outlook à l'aide de certains compléments COM; c'est assez simple à développer, mais de le mettre à jour vous avez besoin de Visual Studio, donc c'est un peu plus compliqué à déployer et mettre à jour de VBA mais vous obtenez la pleine puissance de .Net. Jetez un oeil à mon blog, j'ai écrit un article pour montrer comment vous pouvez tout simplement le faire pour Excel, mais il devrait s'appliquer également à d'Outlook: pragmateek.com/extend-your-vba-code-with-c-vb-net-or-ccli
Malheureusement, je n'ai besoin d'être triés, comme je vais être en le comparant à une autre liste. Je vais jeter un oeil au lien que vous avez fourni... merci!
OriginalL'auteur Wolves | 2013-06-10
Vous devez vous connecter pour publier un commentaire.
Vous devez changer certaines de vos types de données, mais les bases de ce que tu viens de poster pourrait être converti à quelque chose de semblable à cela, étant donné les types de données que j'ai utilisé ne peut pas être exacte.
Collections ne peuvent pas être triées donc, si vous avez besoin de trier les données, vous aurez probablement besoin d'utiliser un tableau.
Voici un lien vers la référence du développeur outlook.
http://msdn.microsoft.com/en-us/library/office/ff866465%28v=office.14%29.aspx
Un autre excellent site pour vous aider à obtenir commencé est
http://www.cpearson.com/Excel/Topic.aspx
Déplacement tout au cours de VBA à partir de VB.Net ne va pas être simple car pas tous les types de données sont les mêmes, et vous n'avez pas la .Net framework. Si vous êtes bloqué, il suffit de poster le code que vous êtes coincé à la conversion et vous pourrez sûrement obtenir un peu d'aide!
Edit:
Vous aurez à boucle à travers les données pour déterminer le nombre d'éléments qui seront ajoutés à la matrice et de stocker le nombre dans une variable. Utiliser ReDim pour réinitialiser le tableau de la bonne taille ou selon le format de vos données, vous pouvez être en mesure d'utiliser ReDim preserve pour éviter une boucle dans vos données, une fois pour compter, une fois de lire. Le seul problème est que si vous utilisez un tableau multidimensionnel vous ne pouvez redimensionner la dernière dimension. Je vais mettre un exemple dans ma réponse pour vous.
Merci!!!! Cela a été très utile!
OriginalL'auteur Ripster