Comment puis-je utiliser un tableau facultatif argument dans une procédure VBA?
J'ai une procédure privée dans un script VBA pour MS Access:
Private Sub drawLineDiagram(chartSpace As Variant, title As String, caption As String, x_val() As Variant, y_val() As Variant, Optional y_val2() As Variant = ????)
Comme vous le voyez, je veux avoir une option de dernier paramètre pour un tableau de valeurs.
Ce genre de paramètre par défaut dois-je céder? Si je le fais avec une option de valeur entière et l'assigner par exemple 0, il est tout beau.
Si je le fais avec un tableau comme indiqué ci-dessus et affecter un tableau, la ligne est en rouge => une erreur (et il ne compile pas).
OriginalL'auteur Sebastian | 2010-02-15
Vous devez vous connecter pour publier un commentaire.
Si vous avez besoin d'une option de tableau en VBA, la déclarer comme
Variant
sans tableau specificator, mais l'accès comme un tableau de toute façon. De cette façon, vous obtenez unVariant
(une seule variable) qui est titulaire d'un tableau deVariant
s, en opposition à la matrice deVariant
s. Aucune valeur par défaut n'est nécessaire:Pour des raisons de cohérence, déclare également que la plaine
Variant
s les deux autres paramètres.Si vous détestez les IDE, ne l'utilisez pas.
Utilisez le bloc-notes. Puis coller le code écrit.
Merci, je vais essayer. En fait je ne déteste pas l'IDE, je viens de ressentir une grande convivialité écart entre cette IDE et par exemple netbeans. Et le manque de convivialité, à mon avis, les résultats en moins d'efficacité.
C'est parce que le public cible pour VBA IDE des gestionnaires et d'autres personnes que l'on croit être intelligent, mais peut-être pas des programmeurs. Donc les boîtes de message sur les erreurs de syntaxe et manque de fonctionnalités avancées. Comparer à VS.NET IDE qui est certainement exagéré pour un manager.
Ok, c'est un bon point. Ne pense pas à ce sujet => la typique du programmeur vue.... 😉 VS.NET IDE est un très beau morceau de logiciel, mais je suis d'accord: il serait trop grande pour eux.
Merci pour la solution. J'aime l'idée de passage d'un tableau dans une variante, car il peut facilement être vérifié avec "Si IsArray(somevar) Puis" et nous partons. Aussi jeter mes deux cents sur les IDE: IDE VBA est à 99% identique à celui de notre bon vieil ami de Visual Studio 6. Car, voyez-vous...VB6 n'est jamais mort. Il vit depuis 10 ans dans son descendant, VBA -quoique beaucoup plus petit et non-compilé. Il continuait à aller tout le chemin à travers Office 2010, 2013 et 2016...jusqu'à ce que le cloud Office 365 de la merde a commencé.
OriginalL'auteur GSerg
Peut-être vous voulez un Tableau de paramètres:
-- Comment: la Surcharge d'une Procédure qui Prend un Nombre indéterminé de Paramètres (Visual Basic)
De référence pour VBA: Comprendre les tableaux de paramètres
OriginalL'auteur Fionnuala
L'IDE peut ne pas être d'une grande utilité, mais l'aide (pour une fois) contient la réponse:
ParamArray
Facultatif. Utilisé seulement comme le dernier argument en arglist pour indiquer que l'argument final est un ensemble Facultatif de la Variante éléments. Le Tableau mots-clés vous permet de fournir un nombre arbitraire d'arguments. Le tableau ne peut pas être utilisé avec ByVal, ByRef, ou en Option.
OriginalL'auteur Patrick Honorez