Automatisieren von JMP durch Visual Basic: Kopieren von Excel-Daten in JMP-Datentabellen.Hallo alle,
Das folgende Skript soll Folgendes tun: Es führt einen VBA-Code aus, der die Excel-Arbeitsmappendaten in JMP-Tabellen kopiert (unter Verwendung der JMP-Bibliothek jmp.tlb). Der erste Teil soll das Referenz-JMP in Excel laden, damit Funktionen im Zusammenhang mit der JMP-Automatisierung ausgeführt werden können. Der zweite Teil exportiert alle Arbeitsmappenblätter in JMP-Datentabellen. Wenn ich diesen Code ausführe, erhalte ich die folgende Fehlermeldung: Benutzerdefinierter Typ nicht definiert am
Dim MyJMP As JMP.Application Linie.Wenn ich den ersten Teil alleine ausführe, funktioniert der Code: Er setzt ein Häkchen bei der JMP-Referenz (unter Tools >> Referenzen beim VBA-Editor). Wenn ich den zweiten Teil ausführe (nach manuellem Setzen des Häkchens für JMP unter Tools>>Referenzen), funktioniert es auch. Daher verstehe ich nicht, was falsch ist. Jede Hilfe geschätzt

vielen Dank!
Eduardo
Unterexport()
'JMP-Referenz hinzufügen
'TEIL 1
Bei Fehler als nächstes fortfahren
Application.VBE.ActiveVBProject.References.AddFromFile _
"C:\Programme\SAS\JMP\12\jmp.tlb"
Bei Fehler GoTo 0
„Dieser Teil exportiert alle Registerkarten in der Excel-Arbeitsmappe als Tabellen nach JMP
'TEIL 2
Dim MyJMP As JMP.Application
Dim JMPdoc Als JMP.Document
Set MyJMP = CreateObject("JMP.Application")
MeinJMP.Visible = True
Set JMPdoc = MyJMP.OpenDocument(ThisWorkbook.FullName)
Dim JMPdt As JMP.DataTable
Legen Sie JMPdt = JMPdoc.GetDataTable fest
End Sub
Betreff: Automatisierung von JMP durch Visual Basic: Kopieren von Excel-Daten in JMP-Datentabellen.werde ich ergänzen @Mark_Bailey indem Sie auf die Dokumentation zum Application Builder verweisen
Hilfe==>Bücher==>Scripting Guide
Suchen Sie nach dem Kapitel "Anwendungen erstellen".
Neben der Verwendung des Application Builder verfügt die JMP-Skriptsprache über einen vollständigen Satz von Anzeigeobjekten, mit denen Sie jede gewünschte Benutzeroberfläche erstellen können.Beispiele finden Sie in den mit JMP gelieferten Beispielskripten und Apps sowie in den vielen JMP-Add-Ins, die im JMP File Exchange auf der JMP-Website verfügbar sind
Betreff: Automatisierung von JMP durch Visual Basic: Kopieren von Excel-Daten in JMP-Datentabellen.Wählen Datei > Neu > Anwendung .
Betreff: Automatisierung von JMP durch Visual Basic: Kopieren von Excel-Daten in JMP-Datentabellen.Ich frage mich, warum JMP keine Plattform entwickelt, um anpassbare Windows-Formulare oder Benutzeroberflächen in JMP zu erstellen. Der Grund, warum wir VB verwenden, ist, dass wir Datenextraktionen, Datenverarbeitung und Datenanalyse zusammen vollständig automatisieren möchten.
Betreff: Automatisierung von JMP durch Visual Basic: Kopieren von Excel-Daten in JMP-Datentabellen.Haben Sie die JMP-Dokumentation zur Automatisierung von JMP mit Visual Basic gelesen? Wenn nicht, ist das der beste Ausgangspunkt. (Siehe Automatisierungs-Referenz-PDF im Ordner „Dokumentation“.) Dann sehen Sie sich den Beispielcode im Ordner „Samples/Automation“ an.
Betreff: Automatisierung von JMP durch Visual Basic: Kopieren von Excel-Daten in JMP-Datentabellen.Hallo alle,
Ich suche erfolgreich Code für die Automatisierung von JMP durch Visual Basic.
Wer das abgeschlossen hat, teilt es mir bitte mit. Vielen Dank für Ihre Hilfe zu diesem Thema.
Danke schön.
Betreff: Automatisierung von JMP durch Visual Basic: Kopieren von Excel-Daten in JMP-Datentabellen.Warum nicht das Export-Sub in die VBScript-Datei verschieben? Es hört sich so an, als ob es Probleme mit der gleichzeitigen Ausführung dieser beiden Aufgaben gibt.
Sie können JMP mithilfe der COM-Schnittstelle (ohne die jmp.tlb-Typbibliothek) in Ihrem VBScript automatisieren. Schau dir das an weißes Papier für einige Informationen über die Automatisierung von JMP auf diese Weise, einschließlich eines Beispiels mit VBScript.
Wenn Sie sich jedoch Ihren Programmablauf ansehen, scheint es, als ob Sie nur versuchen, das Excel-Arbeitsblatt in eine JMP-Tabelle zu importieren. Wenn dies der Fall ist, können Sie den Import einfach mit der Open()-Funktion durchführen.
Betreff: Automatisierung von JMP durch Visual Basic: Kopieren von Excel-Daten in JMP-Datentabellen.Hallo alle,
Ich konnte eingrenzen wo das Problem liegt . Ich habe alles vereinfacht. Jetzt habe ich eine makrofähige Excel-Arbeitsmappe mit dem folgenden Makro:
Unterexport()
Dim MyJMP As JMP.Application
Dim JMPdoc Als JMP.Document
Set MyJMP = CreateObject("JMP.Application")
MeinJMP.Visible = True
Set JMPdoc = MyJMP.OpenDocument(ThisWorkbook.FullName)
End Sub
Wenn ich dieses Makro ausführe aus Excel , es tut was es tun soll. Es exportiert die Blätter der Arbeitsmappe als JMP-Tabellen nach JMP.
Dann habe ich auch folgendes VBS-Skript mit folgendem Code:
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("\\vfc1home1\home1\eosorio\Profile\Documents\vbs scripts\test.xlsm")
objExcel.Application.Visible = True
objExcel.Application.Run "ref" ---> dies lädt jmp.tlb
Legen Sie objWorkbook2 = objExcel.ActiveWorkbook fest
objExcel.Application.Run "export" ---> Dies führt das Makro aus, das Probleme verursacht wenn Anruf von meiner VBS
objworkbook2.Speichern
objExcel.ActiveWorkbook.Close
objExcel.Application.Quit
WScript.Echo "Fertig."
WScript.Quit
Schließlich habe ich die folgende eine Zeile JMP-Skript :
rp = RunProgram( Executable( "WSCRIPT.EXE" ), Options( "\!"\\vfc1home1\home1\eosorio\Profile\Documents\vbs scripts\exportJMP.vbs\!"" ), Lesefunktion ("Text"));
Nun läuft alles so ab : Ich laufe meine JMP-Skript , ruft es mein VBS-Skript , die dann schließlich das Excel-Makro ausführt Export . Aber bei der Ausführung der Makro exportieren das ganze hängt und excel gibt folgende meldung aus: Microsoft Excel wartet darauf, dass eine andere Anwendung eine OLE-Aktion abschließt ... während sich das Rad auf JMP dreht 
Jede Hilfe super geschätzt! Danke!
Betreff: Automatisierung von JMP durch Visual Basic: Kopieren von Excel-Daten in JMP-Datentabellen.Hallo alle,
Ich habe eine Lösung für mein Problem gefunden, aber dann habe ich eine andere bekommen. Was ich versuche, ist wie folgt: Ein JMP-Skript ruft ein VBS-Skript auf. Das VBS-Skript führt ein Excel-Add-In aus. Das Excel-Add-In ruft eine Datendatei ab, verarbeitet sie und generiert eine Arbeitsmappe. Der VBS fährt dann fort und führt zwei Makros in die Arbeitsmappe ein. Ein Makro dient zum Aktivieren der JMP-Referenz (jmp.tlb) und das zweite zum endgültigen Exportieren aller Blätter der Arbeitsmappe als JMP-Tabellen. Ich habe den JMP-Code angehängt und der VBS-Code ist unten (vielleicht ist das für andere Leute interessant). Jetzt läuft alles so: das Add-in läuft, die Arbeitsmappe wird erstellt, aber dann hängt es (Excel zeigt später an: Microsoft Excel wartet darauf, dass eine andere Anwendung eine OLE-Aktion abschließt). Dann habe ich versucht, die Syntax meines runprogram-Befehls zu ändern: Anstatt Read function ("text") zu schreiben, habe ich Read function () geschrieben. Das Ganze läuft (es knallt sogar die "Fertig"-Meldung aus dem VBS), aber was nach dem runprogram-Komma kommt, funktioniert nicht. Von dem Moment an, in dem ich das JMP-Skript ausführe, ntables=0. Es sieht so aus, als würde das JMP-Skript das VBS-Skript ausführen und parallel ausführen, was nach dem Befehl runprogram kommt, und da zu diesem Zeitpunkt keine Tabellen vorhanden sind, ist ntables=0. Ich verstehe nicht. Ich schätze, ich benutze den runprogram-Befehl falsch und das ist mein Problem. Muss etwas einfaches sein, kann es aber nicht finden. Jede Hilfe geschätzt! Danke!
Datei Rufen Sie myAddin.vbs auf
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\Users\eduret\AppData\Roaming\Microsoft\AddIns\Gamma Tools.xla")
objExcel.Application.Visible = True
objExcel.Application.Run "'Gamma Tools.xla'!Pics"
Legen Sie objWorkbook2 = objExcel.ActiveWorkbook fest
Set xlmodule = objworkbook2.VBProject.VBComponents.Add(1)
strCode = _
"sub ref()" & vbCr & _
"Bei Fehler als nächstes fortsetzen" & vbCr & _
"Application.VBE.ActiveVBProject.References.AddFromFile _" & vbCr & _
"""C:\Programme\SAS\JMP\12\jmp.tlb""" & vbCr & _
"Bei Fehler GoTo 0" & vbCr & _
"End Sub"
xlmodule.CodeModule.AddFromString strCode
objExcel.Application.Run "ref"
Set xlmodule = objworkbook2.VBProject.VBComponents.Add(1)
strCode = _
"sub export()" & vbCr & _
"Dim MyJMP As JMP.Application" & vbCr & _
"Dim JMPdoc As JMP.Document" & vbCr & _
"Set MyJMP = CreateObject(""JMP.Application"")" & vbCr & _
"MyJMP.Visible = True" & vbCr & _
"Set JMPdoc = MyJMP.OpenDocument(ThisWorkbook.FullName)" & vbCr & _
"Dim JMPdt As JMP.DataTable" & vbCr & _
"Setze JMPdt = JMPdoc.GetDataTable" & vbCr & _
"End Sub"
xlmodule.CodeModule.AddFromString strCode
objExcel.Application.Run "exportieren"
objworkbook2.Speichern
objExcel.ActiveWorkbook.Close
objExcel.Application.Quit
WScript.Echo "Fertig."
WScript.Quit