<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour, je regarde un exemple de programme inclus avec JMP 11 :
C:\Program Files\SAS\JMP\11\Samples\Automation\Visual Basic Samples\Data Table .NET\datatab.vb
Comme je n'ai pas Visual Studio (juste Excel), j'ai ouvert "datatab.vb" avec le Bloc-notes et j'ai tenté de traduire la procédure "Subset_Click" de Visual Basic (VB) vers Visual Basic pour Applications (VBA). Veuillez consulter l'exemple de code ci-dessous.
J'ai quelques questions:
- Pourquoi « doc = app.OpenDocument(fname) » provoque-t-il une erreur d'exécution « Variable d'objet non définie » ?
- Comment fonctionnent les méthodes de sous-ensembles datatables ? Je peux les voir dans le navigateur d'objets Excel VBA, mais il n'y a pas beaucoup de détails.
- Comment le handle datatable est-il utilisé ?
Merci pour votre aide.
'------------------------------------------------- -------
'Sous-ensemble bigclass par poids et taille
'Enregistrez le nouveau handle de table de données dans NewDT, puis enregistrez la table sur le disque sous subset.jmp
'------------------------------------------------- -------
Sous sous-ensemble()
Dim application en tant que JMP.Application
Dim doc Comme JMP.Document
Dim dt comme JMP.DataTable
Dim newDT comme JMP.DataTable
Dim dtDoc comme JMP.Document
Dim dir As String
Dim fname sous forme de chaîne
'Démarrer JMP
Définir l'application = CreateObject("JMP.Application")
app.Visible = Vrai
'Obtenir le tableau de données
rép = "C:\Program Files\SAS\JMP\11\Samples\Data\"
fname = rép & "Big Class.jmp"
doc = app.OpenDocument(fname)
dt = doc.GetDataTable
'Données de sous-ensemble
dt.Activer
dt.SubsetSetRandomSelection(2, Faux)
dt.SubsetStratifyAddColumn ("âge")
dt.AddToSubList ("Nom")
dt.AddToSubList ("Poids")
dt.AddToSubList ("Hauteur")
newDT = dt.Sous-ensemble
dtDoc = nouveauDT.Document
dtDoc.SaveAs ("C:\JMP\subset.jmp")
Fin du sous-marin
'------------------------------------------------- -------
Wow, il y a beaucoup de bonnes choses dans le répertoire d'installation de JMP ! Les descriptions de méthodes dans le PDF de référence d'automatisation sont certainement utiles.
En ce qui concerne mes questions initiales:
- Le mot-clé "Set" était nécessaire pour attribuer une référence d'objet à la variable.
- Votre commentaire et votre photo m'ont aidé à comprendre le code du sous-ensemble.
Merci encore!
Salut JB,
Une référence d'automatisation complète est installée dans le répertoire Documentation où JMP 11 est installé.Si vous obtenez une mauvaise référence, cela signifie que JMP n'a pas pu démarrer (l'objet App est vide) ou qu'il n'a pas pu trouver la table de données Big Class et que cette référence est vide.Veuillez garder à l'esprit que si vous utilisez JMPPro, le répertoire sera différent de JMPPRO\11 et non de JMP\11.Il en va de même pour les autres produits JMP.
Cet échantillon constitue un sous-ensemble, avec une taille d'échantillon aléatoire de 2. La stratification est définie, la colonne d'âge étant utilisée pour l'échantillon stratifié.Seules les colonnes sélectionnées seront affichées.Dans ce cas, le nom, la taille et le poids sont les colonnes sélectionnées.Je joins une photo de ce à quoi cela ressemblerait si vous deviez le faire de manière interactive.
J'espère que ça aide,
Brian Corcoran
Développement JMP