<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 tenté de traduire la procédure "Subset_Click" de Visual Basic (VB) en 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 "Object variable not set" ?
- Comment fonctionnent les méthodes de sous-ensemble datatable ? 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
'Enregistrer le nouveau handle de table de données dans NewDT, puis enregistrer la table sur le disque en tant que subset.jmp
'--------------------------------------------------------------- -------
Sous-sous-ensemble()
Dim app As JMP.Application
Dim doc As JMP.Document
Dim dt As JMP.DataTable
Dim newDT As JMP.DataTable
Dim dtDoc As JMP.Document
Dim dir As String
Dim fname As String
'Démarrer JMP
Set app = CreateObject("JMP.Application")
app.Visible = Vrai
'Obtenir la table de données
dir = "C:\Program Files\SAS\JMP\11\Samples\Data\"
fname = répertoire & "Big Class.jmp"
doc = app.OpenDocument(fname)
dt = doc.GetDataTable
'Données de sous-ensemble
dt.Activer
dt.SubsetSetRandomSelection(2, False)
dt.SubsetStratifyAddColumn ("âge")
dt.AddToSubList ("Nom")
dt.AddToSubList ("Poids")
dt.AddToSubList ("Hauteur")
newDT = dt.Subset
dtDoc = nouveauDT.Document
dtDoc.SaveAs ("C:\JMP\subset.jmp")
Sous-titre de fin
'--------------------------------------------------------------- -------
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.
Concernant mes questions initiales :
- Le mot-clé "Set" était nécessaire pour affecter une référence d'objet à la variable.
- Votre commentaire et votre image 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.N'oubliez pas 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 fait 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 sorties.Dans ce cas, le nom, la taille et le poids sont les colonnes sélectionnées.Je joins une image 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