Automazione di JMP tramite Visual Basic: copia di dati Excel in tabelle di dati JMP.Ciao a tutti,
Lo script seguente dovrebbe eseguire le seguenti operazioni: esegue un codice VBA che copia i dati della cartella di lavoro Excel nelle tabelle JMP (utilizzando la libreria JMP jmp.tlb). La prima parte ha lo scopo di caricare il JMP di riferimento in Excel in modo che le funzioni associate all'automazione JMP possano essere eseguite. La seconda parte esporta tutti i fogli del workbook nelle tabelle di dati JMP. Quando eseguo questo codice ottengo il seguente errore: tipo definito dall'utente non definito nel file
Oscura MyJMP As JMP.Application linea.Se eseguo solo la prima parte, il codice funziona: mette un segno di spunta sul riferimento JMP (sotto strumenti>>riferimenti nell'editor VBA). Se eseguo la seconda parte (dopo aver impostato manualmente il segno di spunta per JMP in strumenti>>riferimenti), funziona anche. Quindi non capisco cosa c'è che non va. Qualsiasi aiuto apprezzato

grazie molto!
Edoardo
Sottoesportazione()
'Aggiungi riferimento JMP
'PARTE 1
In caso di errore Riprendi Avanti
Application.VBE.ActiveVBProject.References.AddFromFile _
"C:\Programmi\SAS\JMP\12\jmp.tlb"
In caso di errore vai a 0
'Questa parte esporta tutte le schede nella cartella di lavoro Excel in JMP come tabelle
'PARTE 2
Oscura MyJMP As JMP.Application
Dim JMPdoc As JMP.Document
Impostare MyJMP = CreateObject("JMP.Application")
MyJMP.Visible = Vero
Imposta JMPdoc = MyJMP.OpenDocument(ThisWorkbook.FullName)
Dim JMPdt As JMP.DataTable
Impostare JMPdt = JMPdoc.GetDataTable
Fine Sub
Oggetto: Automatizzazione di JMP tramite Visual Basic: copia di dati Excel in tabelle di dati JMP.aggiungerò a @Mark_Bailey indirizzandoti alla documentazione sull'Application Builder
Aiuto==>Libri==>Guida allo scripting
Cerca il capitolo su "Creazione di applicazioni"
Oltre a utilizzare l'Application Builder, JMP Scripting Language dispone di un set completo di oggetti di visualizzazione che consentono la creazione di qualsiasi interfaccia utente desiderata.Gli esempi si trovano negli script e nelle app di esempio forniti con JMP e anche nei numerosi componenti aggiuntivi di JMP disponibili in JMP File Exchange sul sito Web di JMP
Oggetto: Automatizzazione di JMP tramite Visual Basic: copia di dati Excel in tabelle di dati JMP.Selezionare File > Nuovo > Applicazione .
Oggetto: Automatizzazione di JMP tramite Visual Basic: copia di dati Excel in tabelle di dati JMP.Mi chiedo perché JMP non sviluppi una piattaforma per creare un Windows Form personalizzabile o un'interfaccia utente all'interno di JMP, il motivo per cui utilizziamo VB è perché vogliamo automatizzare completamente le estrazioni dei dati, il crunching dei dati e l'analisi dei dati insieme.
Oggetto: Automatizzazione di JMP tramite Visual Basic: copia di dati Excel in tabelle di dati JMP.Hai letto la documentazione di JMP sull'automazione di JMP con Visual Basic? In caso contrario, questo è il miglior punto di partenza. (Vedere il PDF di riferimento per l'automazione nella cartella Documentazione.) Quindi vedere la cartella Samples/Automation per il codice di esempio.
Oggetto: Automatizzazione di JMP tramite Visual Basic: copia di dati Excel in tabelle di dati JMP.Ciao a tutti,
Sto cercando con successo il codice per automatizzare JMP tramite Visual Basic.
Chiunque lo abbia completato, per favore, condividilo con me. Apprezzo il tuo aiuto su questo argomento.
Grazie.
Oggetto: Automatizzazione di JMP tramite Visual Basic: copia di dati Excel in tabelle di dati JMP.Perché non spostare l'esportazione Sub nel file VBScript? Sembra che ci siano problemi con l'esecuzione simultanea di queste due attività.
È possibile automatizzare JMP utilizzando l'interfaccia COM (senza la libreria dei tipi jmp.tlb) dall'interno di VBScript. Controlla questo carta bianca per alcune informazioni sull'automazione di JMP in questo modo, incluso un esempio che utilizza VBScript.
Tuttavia, guardando il flusso del tuo programma, sembra che tu stia solo cercando di importare il foglio di lavoro di Excel in una tabella JMP. In tal caso, puoi semplicemente utilizzare la funzione Open () per eseguire l'importazione.
Oggetto: Automatizzazione di JMP tramite Visual Basic: copia di dati Excel in tabelle di dati JMP.Ciao a tutti,
Sono riuscito a restringere il campo dove sta il problema . Ho semplificato tutto. Ora ho una cartella di lavoro Excel abilitata per macro con la seguente macro:
Sottoesportazione()
Oscura MyJMP As JMP.Application
Dim JMPdoc As JMP.Document
Impostare MyJMP = CreateObject("JMP.Application")
MyJMP.Visible = Vero
Imposta JMPdoc = MyJMP.OpenDocument(ThisWorkbook.FullName)
Fine Sub
Se eseguo questa macro da eccellere , fa quello che deve fare. Esporta in JMP i fogli della cartella di lavoro come tabelle JMP.
Poi ho anche quanto segue Script VBS con il seguente codice:
Imposta objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("\\vfc1home1\home1\eosorio\Profile\Documents\vbs scripts\test.xlsm")
objExcel.Application.Visible = Vero
objExcel.Application.Run "ref" ---> questo carica jmp.tlb
Impostare objWorkbook2 = objExcel.ActiveWorkbook
objExcel.Application.Run "export" ---> questo esegue la macro che sta dando problemi se chiamata dal mio VBS
objworkbook2.Salva
objExcel.ActiveWorkbook.Close
objExcel.Application.Quit
WScript.Echo "Finito".
WScript.Quit
Finalmente ho la seguente riga Script JMP :
rp = EseguiProgramma( Eseguibile( "WSCRIPT.EXE" ), Opzioni( "\!"\\vfc1home1\home1\eosorio\Profilo\Documenti\vbs scripts\exportJMP.vbs\!"" ),Funzione di lettura("testo"));
Ora è così che funziona tutto : Corro il mio Script JMP , chiama my Script VBS , che alla fine esegue la macro excel esportare . Ma quando si esegue il file macro di esportazione il tutto si blocca ed excel produce il seguente messaggio: Microsoft Excel sta aspettando che un'altra applicazione completi un'azione OLE....mentre la ruota su JMP gira 
Qualsiasi aiuto super apprezzato! Grazie!
Oggetto: Automatizzazione di JMP tramite Visual Basic: copia di dati Excel in tabelle di dati JMP.Ciao a tutti,
Ho trovato una soluzione al mio problema ma poi ne ho trovata un'altra. Quello che sto cercando di fare è il seguente: uno script JMP chiama uno script VBS. Lo script VBS esegue un componente aggiuntivo di Excel. Il componente aggiuntivo Excel ottiene un file di dati, lo elabora e genera una cartella di lavoro. Il VBS poi continua e introduce nella cartella di lavoro due macro. Una macro serve per attivare il riferimento JMP (jmp.tlb) e la seconda serve per esportare finalmente tutti i fogli della cartella di lavoro come tabelle JMP. Ho allegato il codice JMP e il codice VBS è sotto (forse questo è interessante per altre persone). Ora è così che tutto viene eseguito: il componente aggiuntivo viene eseguito, la cartella di lavoro viene creata, ma poi si blocca (Excel viene visualizzato in seguito: Microsoft Excel è in attesa che un'altra applicazione completi un'azione OLE). Poi ho provato a cambiare la sintassi del mio comando runprogram: invece di scrivere Read function ("testo"), ho scritto Read function(). Il tutto viene eseguito (appare anche il messaggio "Finished" dal VBS) ma ciò che viene dopo il comando runprogram non funziona. Dal momento in cui eseguo lo script JMP, ntables=0. Sembra che lo script JMP esegua lo script VBS ed esegua in parallelo ciò che viene dopo il comando runprogram, e poiché a quel punto non ci sono tabelle, allora ntables=0. Non capisco. Immagino di usare nel modo sbagliato il comando runprogram e questo è il mio problema. Deve essere qualcosa di facile ma non riesco a trovarlo. Qualsiasi aiuto apprezzato! Grazie!
File Chiama myAddin.vbs
Imposta objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\Users\eduret\AppData\Roaming\Microsoft\AddIns\Gamma Tools.xla")
objExcel.Application.Visible = Vero
objExcel.Application.Run "'Gamma Tools.xla'!Pics"
Impostare objWorkbook2 = objExcel.ActiveWorkbook
Imposta xlmodule = objworkbook2.VBProject.VBComponents.Add(1)
strCode = _
"sottorif()" & vbCr & _
"In caso di errore Riprendi successivo" & vbCr & _
"Application.VBE.ActiveVBProject.References.AddFromFile _" & vbCr & _
"""C:\Programmi\SAS\JMP\12\jmp.tlb""" & vbCr & _
"In caso di errore GoTo 0" & vbCr & _
"fine sottotitolo"
xlmodule.CodeModule.AddFromString strCode
objExcel.Application.Run "ref"
Imposta xlmodule = objworkbook2.VBProject.VBComponents.Add(1)
strCode = _
"sub export()" & vbCr & _
"Oscura MyJMP come JMP.Application" & vbCr & _
"Dim JMPdoc As JMP.Document" & vbCr & _
"Imposta MyJMP = CreateObject(""JMP.Application"")" & vbCr & _
"MyJMP.Visible = True" & vbCr & _
"Imposta JMPdoc = MyJMP.OpenDocument(ThisWorkbook.FullName)" & vbCr & _
"Dim JMPdt As JMP.DataTable" & vbCr & _
"Imposta JMPdt = JMPdoc.GetDataTable" & vbCr & _
"fine sottotitolo"
xlmodule.CodeModule.AddFromString strCode
objExcel.Application.Run "esporta"
objworkbook2.Salva
objExcel.ActiveWorkbook.Close
objExcel.Application.Quit
WScript.Echo "Finito".
WScript.Quit