Le tableau de sortie de MsgBox
Je ne PowerShell pas VBScript, donc je suis un peu perdu. Je suis en train de la liste de tous les lecteurs mappés (lettre de lecteur et le chemin d'accès au partage) dans un MsgBox. Je reçois une erreur d'incompatibilité de type lors de l'exécution du script. Si je change "Dim montableau()" à "Dim montableau" je obtenir un seul élément de la variable.
Set objNetwork = WScript.CreateObject("WScript.Network")
Set colDrives = objNetwork.EnumNetworkDrives
Dim myArray()
For i = 0 to colDrives.Count-1 Step 2
myArray = colDrives.Item(i) & vbTab & colDrives.Item (i + 1)
Next
MsgBox(myArray)
Comment puis-je obtenir les données sont enregistrées dans un tableau, puis la sortie d'une boîte de Message?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser une chaîne de caractères et de garder ajout (
&
en a).La raison pour laquelle votre code ne fonctionne pas c'est parce que vous êtes la création de tableau de taille fixe sans taille réelle (
Dim myArray()
), puis essayez d'affecter les valeurs de ce tableau. En VBScript, vous devez affecter des valeurs à des positions de tableau (myArray(pos) = val
), et vous ne pouvez pas ajouter à la fonction intégrée dans les tableaux (au moins pas sans un peu plus de travail).L'approche la plus simple dans votre cas, serait la méthode @Bond suggéré. Cependant, vous peut le faire avec des tableaux si vous le souhaitez. Vous avez juste besoin d'un redimensionnable tableau comme ceci:
ou (à l'aide d'un
ArrayList
), comme ceci:Puisque la taille de la matrice peuvent déjà être déterminé avant d'entrer dans la boucle, vous pouvez également la dimension du tableau avec la bonne taille tout de suite pour éviter la répétition redimensionnement des images (qui tend à faire mal pour VBScript intégré dans les tableaux):
Une autre option serait d'utiliser un
Dictionnaire
: