Automatización de JMP a través de Visual Basic: copia de datos de Excel en tablas de datos de JMP.Hola a todos,
Se supone que el siguiente script debe hacer lo siguiente: ejecuta un código VBA que copia los datos del libro de trabajo de Excel en las tablas JMP (usando la biblioteca JMP jmp.tlb). La primera parte está destinada a cargar la referencia JMP en Excel para que se puedan ejecutar las funciones asociadas con la automatización de JMP. La segunda parte exporta todas las hojas del libro de trabajo a tablas de datos JMP. Cuando ejecuto este código, aparece el siguiente error: Tipo definido por el usuario no definido en el
Dim MyJMP como JMP.Aplicación línea.Si ejecuto solo la primera parte, el código funciona: establece una marca de verificación en la referencia JMP (en herramientas>>referencias en el editor de VBA). Si ejecuto la segunda parte (después de configurar manualmente la marca de verificación para JMP en herramientas>>referencias), también funciona. Por lo tanto, no entiendo lo que está mal. Cualquier ayuda apreciada

¡muchas gracias!
Eduardo
Subexportación()
'Añadir referencia JMP
'PARTE 1
En caso de error Reanudar siguiente
Aplicación.VBE.ActiveVBProject.References.AddFromFile _
"C:\Archivos de programa\SAS\JMP\12\jmp.tlb"
En caso de error Ir a 0
'Esta parte exporta todas las pestañas del libro de Excel a JMP como tablas
'PARTE 2
Dim MyJMP como JMP.Aplicación
Dim JMPdoc como JMP.Documento
Establecer MyJMP = CreateObject("JMP.Aplicación")
MiJMP.Visible = Verdadero
Establecer JMPdoc = MyJMP.OpenDocument(ThisWorkbook.FullName)
Dim JMPdt como JMP.DataTable
Establecer JMPdt = JMPdoc.GetDataTable
Finalizar sub
Re: Automatización de JMP a través de Visual Basic: copia de datos de Excel en tablas de datos de JMP.agregaré a @Mark_Bailey indicándole la documentación sobre Application Builder
Ayuda==>Libros==>Guía de secuencias de comandos
Busque el capítulo sobre "Creación de aplicaciones"
Además de usar Application Builder, JMP Scripting Language tiene un conjunto completo de objetos de visualización que permiten la creación de cualquier interfaz de usuario que desee.Los ejemplos se encuentran en los scripts y aplicaciones de muestra proporcionados con JMP, y también en los muchos complementos de JMP disponibles en JMP File Exchange en el sitio web de JMP.
Re: Automatización de JMP a través de Visual Basic: copia de datos de Excel en tablas de datos de JMP.Seleccionar Archivo > Nuevo > Solicitud .
Re: Automatización de JMP a través de Visual Basic: copia de datos de Excel en tablas de datos de JMP.Me pregunto por qué JMP no desarrolla una plataforma para crear formularios de Windows personalizables o UI dentro de JMP, la razón por la que usamos VB es porque queremos automatizar completamente las extracciones de datos, el procesamiento de datos y el análisis de datos juntos.
Re: Automatización de JMP a través de Visual Basic: copia de datos de Excel en tablas de datos de JMP.¿Ha leído la documentación de JMP sobre la automatización de JMP con Visual Basic? Si no, ese es el mejor lugar para comenzar. (Consulte el PDF de referencia de automatización en la carpeta Documentación). Luego, consulte la carpeta Ejemplos/Automatización para obtener un código de ejemplo.
Re: Automatización de JMP a través de Visual Basic: copia de datos de Excel en tablas de datos de JMP.Hola a todos,
Estoy buscando un código exitoso para automatizar JMP a través de Visual Basic.
Cualquiera que haya completado eso, por favor compártalo conmigo. Agradezco su ayuda en este tema.
Gracias.
Re: Automatización de JMP a través de Visual Basic: copia de datos de Excel en tablas de datos de JMP.¿Por qué no mover la exportación Sub al archivo VBScript? Parece que hay problemas con la ejecución de estas dos tareas simultáneamente.
Puede automatizar JMP utilizando la interfaz COM (sin la biblioteca de tipos jmp.tlb) desde su VBScript. Mira esto papel blanco para obtener información sobre cómo automatizar JMP de esta manera, incluido un ejemplo con VBScript.
Sin embargo, al observar el flujo de su programa, parece que solo está tratando de importar la hoja de cálculo de Excel a una tabla JMP. Si es así, puede usar la función Open() para realizar la importación.
Re: Automatización de JMP a través de Visual Basic: copia de datos de Excel en tablas de datos de JMP.Hola a todos,
Me las arreglé para reducir dónde está el problema . Simplifiqué todo. Ahora tengo un libro de Excel habilitado para macros con la siguiente macro:
Subexportación()
Dim MyJMP como JMP.Aplicación
Dim JMPdoc como JMP.Documento
Establecer MyJMP = CreateObject("JMP.Aplicación")
MiJMP.Visible = Verdadero
Establecer JMPdoc = MyJMP.OpenDocument(ThisWorkbook.FullName)
Finalizar sub
Si ejecuto esta macro de sobresalir , hace lo que se supone que debe hacer. Exporta a JMP las hojas del libro como tablas JMP.
Entonces también tengo lo siguiente guión VBS con el siguiente código:
Establecer objExcel = CreateObject("Excel.Application")
Establecer objWorkbook = objExcel.Workbooks.Open("\\vfc1home1\home1\eosorio\Perfil\Documentos\vbs scripts\test.xlsm")
objExcel.Application.Visible = Verdadero
objExcel.Application.Run "ref" ---> esto carga jmp.tlb
Establecer objWorkbook2 = objExcel.ActiveWorkbook
objExcel.Application.Run "export" ---> esto ejecuta la macro que está dando problemas si llama desde mi VBS
objworkbook2.Guardar
objExcel.ActiveWorkbook.Cerrar
objExcel.Aplicación.Salir
WScript.Echo "Terminado".
WScript.Salir
Finalmente tengo la siguiente línea secuencia de comandos JMP :
rp = RunProgram( Ejecutable( "WSCRIPT.EXE" ), Opciones( "\!"\\vfc1home1\home1\eosorio\Profile\Documents\vbs scripts\exportJMP.vbs\!"" ), función de lectura ("texto"));
Ahora así es como todo funciona : corro mi secuencia de comandos JMP , llama a mi guión VBS , que finalmente ejecuta la macro de Excel exportar . Pero al ejecutar el exportar macros todo se cuelga y Excel produce el siguiente mensaje: Microsoft Excel está esperando que otra aplicación complete una acción OLE... mientras la rueda de JMP gira 
¡Cualquier ayuda súper apreciada! ¡Gracias!
Re: Automatización de JMP a través de Visual Basic: copia de datos de Excel en tablas de datos de JMP.Hola a todos,
Encontré una solución a mi problema, pero luego obtuve otra. Lo que intento hacer es lo siguiente: un script JMP llama a un script VBS. El script VBS ejecuta un complemento de Excel. El complemento de Excel obtiene un archivo de datos, lo procesa y genera un libro de trabajo. El VBS luego continúa e introduce en el libro de trabajo dos macros. Una macro es para activar la referencia JMP (jmp.tlb) y la segunda es para exportar finalmente todas las hojas del libro de trabajo como tablas JMP. He adjuntado el código JMP y el código VBS está debajo (quizás esto sea interesante para otras personas). Ahora, así es como se ejecuta todo: se ejecuta el complemento, se crea el libro de trabajo, pero luego se bloquea (Excel muestra más tarde: Microsoft Excel está esperando que otra aplicación complete una acción OLE). Luego traté de cambiar la sintaxis de mi comando runprogram: en lugar de escribir la función de lectura ("texto"), escribí la función de lectura (). Todo se ejecuta (incluso aparece el mensaje "Terminado" del VBS), pero lo que viene después de la orden del programa de ejecución no funciona. Desde el momento en que ejecuto el script JMP, ntables=0. Parece que el script JMP ejecuta el script VBS y ejecuta en paralelo lo que viene después del comando runprogram, y dado que no hay tablas en ese punto, entonces ntables=0. No entiendo. Supongo que estoy usando de forma incorrecta el comando runprogram y ese es mi problema. Debe ser algo fácil pero no puedo encontrarlo. ¡Cualquier ayuda apreciada! ¡gracias!
Archivo Llamar a myAddin.vbs
Establecer objExcel = CreateObject("Excel.Application")
Establecer objWorkbook = objExcel.Workbooks.Open("C:\Users\eduret\AppData\Roaming\Microsoft\AddIns\Gamma Tools.xla")
objExcel.Application.Visible = Verdadero
objExcel.Application.Run "'Gamma Tools.xla'!Pics"
Establecer objWorkbook2 = objExcel.ActiveWorkbook
Establecer xlmodule = objworkbook2.VBProject.VBComponents.Add(1)
strCode = _
"ref sub()" & vbCr & _
"En caso de error, reanudar siguiente" & vbCr & _
"Aplicación.VBE.ActiveVBProject.References.AddFromFile _" & vbCr & _
"""C:\Archivos de programa\SAS\JMP\12\jmp.tlb""" & vbCr & _
"En caso de error Ir a 0" & vbCr & _
"sub final"
xlmodule.CodeModule.AddFromString strCode
objExcel.Aplicación.Ejecutar "ref"
Establecer xlmodule = objworkbook2.VBProject.VBComponents.Add(1)
strCode = _
"exportación secundaria ()" & vbCr & _
"Dim MyJMP como JMP.Aplicación" & vbCr & _
"Dim JMPdoc como JMP.Documento" & vbCr & _
"Establecer MyJMP = CreateObject(""JMP.Aplicación"")" & vbCr & _
"MiJMP.Visible = Verdadero" & vbCr & _
"Establecer JMPdoc = MyJMP.OpenDocument(ThisWorkbook.FullName)" & vbCr & _
"Dim JMPdt como JMP.Tabla de datos" & vbCr & _
"Establecer JMPdt = JMPdoc.GetDataTable" & vbCr & _
"sub final"
xlmodule.CodeModule.AddFromString strCode
objExcel.Aplicación.Ejecutar "exportar"
objworkbook2.Guardar
objExcel.ActiveWorkbook.Cerrar
objExcel.Aplicación.Salir
WScript.Echo "Terminado".
WScript.Salir