<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo, ich schaue mir ein Beispielprogramm an, das in JMP 11 enthalten ist:
C:\Programme\SAS\JMP\11\Samples\Automation\Visual Basic Samples\Data Table .NET\datatab.vb
Da ich kein Visual Studio (nur Excel) habe, habe ich „datatab.vb“ mit Notepad geöffnet und versucht, die Prozedur „Subset_Click“ von Visual Basic (VB) nach Visual Basic for Applications (VBA) zu übersetzen. Bitte sehen Sie sich das Codebeispiel unten an.
Ich habe ein paar Fragen:
- Warum verursacht „doc = app.OpenDocument(fname)“ einen Laufzeitfehler „Objektvariable nicht gesetzt“?
- Wie funktionieren die datierbaren Teilmengenmethoden? Ich kann diese im Excel VBA-Objektbrowser sehen, aber es gibt nicht viele Details.
- Wie wird das datierbare Handle verwendet?
Vielen Dank für Ihre Hilfe.
'---------------------------------------------------------------- -------
'Subset bigclass nach Gewicht und Größe
„Speichern Sie das neue Datentabellen-Handle in NewDT und speichern Sie die Tabelle dann auf der Festplatte als subset.jmp.“
'---------------------------------------------------------------- -------
Sub Subset()
App als JMP.Application dimmen
Dokument als JMP-Dokument dimmen
Dim dt As JMP.DataTable
Dimmen Sie newDT als JMP.DataTable
Dimmen Sie dtDoc als JMP.Document
Dim dir As String
Fname als String dimmen
'JMP starten
Setze app = CreateObject("JMP.Application")
app.Visible = True
'Datentabelle abrufen
dir = "C:\Programme\SAS\JMP\11\Samples\Data\"
fname = dir & „Big Class.jmp“
doc = app.OpenDocument(fname)
dt = doc.GetDataTable
'Teildaten
dt.Aktivieren
dt.SubsetSetRandomSelection(2, False)
dt.SubsetStratifyAddColumn („Alter“)
dt.AddToSubList ("Name")
dt.AddToSubList ("Gewicht")
dt.AddToSubList ("Höhe")
newDT = dt.Subset
dtDoc = newDT.Document
dtDoc.SaveAs („C:\JMP\subset.jmp“)
End Sub
'---------------------------------------------------------------- -------
Wow, es gibt eine Menge guter Sachen im JMP-Installationsverzeichnis! Die Methodenbeschreibungen im Automation Reference PDF sind sicherlich hilfreich.
Zu meinen ursprünglichen Fragen:
- Das Schlüsselwort „Set“ wurde benötigt, um der Variablen eine Objektreferenz zuzuweisen.
- Ihr Kommentar und Ihr Bild haben mir geholfen, den Subset-Code zu verstehen.
Danke noch einmal!
Hallo JB,
Im Dokumentationsverzeichnis, in dem JMP 11 installiert ist, ist eine vollständige Automatisierungsreferenz installiert.Wenn Sie eine fehlerhafte Referenz erhalten, bedeutet das, dass JMP entweder nicht gestartet werden konnte (App-Objekt ist leer) oder dass die Datentabelle „Big Class“ nicht gefunden werden konnte und diese Referenz leer ist.Bitte beachten Sie, dass bei Verwendung von JMPPro das Verzeichnis ein anderes JMPPRO\11 und nicht JMP\11 ist.Das Gleiche gilt auch für andere JMP-Produkte.
Bei dieser Stichprobe handelt es sich um eine Teilmenge mit einer Zufallsstichprobengröße von 2. „Stratifizieren“ ist festgelegt, wobei die Altersspalte für die geschichtete Stichprobe verwendet wird.Es werden nur die ausgewählten Spalten ausgegeben.In diesem Fall sind Name, Größe und Gewicht die ausgewählten Spalten.Ich füge ein Bild bei, wie dies aussehen würde, wenn Sie dies interaktiv tun würden.
Ich hoffe das hilft,
Brian Corcoran
JMP-Entwicklung