Hola. Me doy cuenta de que si intento abrir un archivo de Excel usando una secuencia de comandos, el Asistente de importación de Excel aparece si el comando Abrir se origina en un cuadro de botones, pero no aparece si el comando Abrir está en el nivel superior de la secuencia de comandos. Para que conste, no quiero que aparezca el asistente en este caso. ¿Alguien está familiarizado con este comportamiento? Si es así, ¿puedo solucionarlo?
Por ejemplo, tengo una secuencia de comandos en la que el usuario elige un archivo de Excel y luego lo abre. En este caso, el archivo de Excel se abre como una tabla JMP sin problemas. Sin embargo, si coloco el comando para abrir el archivo de Excel dentro de un cuadro de botones, aparece el Asistente de Excel. Incluso si usa exactamente las mismas opciones en ambos casos. Esto se demuestra en el siguiente script, utilizando el archivo xlsx adjunto:
Names Default to Here(1);
//Get location of file:
path = Pick File("Select xlsx Table...",,
{"Excel|xlsx"}, 1,
0
);
If(path == "", Stop());
//Expression to open file:
open_exp = Expr(
Open(path,
Worksheets("Sheet1"),
Use for all sheets(1),
Concatenate Worksheets(0),
Create Concatenation Column(0),
Worksheet Settings(
1,
Has Column Headers(1),
Number of Rows in Headers(1),
Headers Start on Row(1),
Data Starts on Row(2),
Data Starts on Column(1),
Data Ends on Row(0),
Data Ends on Column(0),
Replicated Spanned Rows(0),
Replicated Spanned Headers(0),
Suppress Hidden Rows(1),
Suppress Hidden Columns(1),
Suppress Empty Columns(1),
Treat as Hierarchy(0),
Multiple Series Stack(0),
Import Cell Colors(0),
Limit Column Detect(1),
Column Separator String("-")
)
);
);
//Attempt to open file...works as intended (no Import Wizard)
open_exp;
//Attempt to open file via a button...always results in the Import Wizard.
win = New Window("Temp",
ButtonBox("Open xlsx",
open_exp
)
);Como puede ver, ambos métodos utilizan exactamente el mismo comando con exactamente las mismas opciones en exactamente el mismo archivo, pero obtengo 2 comportamientos diferentes.
Es de destacar que cuando el archivo xlsx se abre a través del cuadro de botones, la configuración del comando de apertura parece ignorarse. Es decir, si modifico las opciones "Número de filas en encabezados", "Los encabezados comienzan en la fila", "Los datos comienzan en la fila", etc., el primer método utilizado respetará esas nuevas configuraciones. Sin embargo, el segundo método de "cuadro de botones" con el Asistente de importación siempre parece volver a la configuración predeterminada.
Para que conste, no quiero modificar mis preferencias para que JMP nunca use el Asistente de Excel. Simplemente no quiero usarlo en este caso y no puedo exigir a otros usuarios de esta aplicación que hagan las mismas modificaciones según sus preferencias.
Mis detalles:
JMP Pro 15.2.1
Mac OS Catalina 10.15.7
Excel: Versión 16.49
Espero que alguien pueda ayudar. ¡Gracias!
wendy,
¿Hay alguna actualización sobre esto?
Tengo un script que configura algunas fuentes en mis cuadros de visualización, pero resulta que algunas de las computadoras de la organización tienen fuentes mínimas instaladas.
Entonces mis usuarios reciben muchas ventanas emergentes que dicen "Fuente desconocida". En lugar de revertir todo a las fuentes predeterminadas, intenté envolverlo en bloques Try(), pero no sirvió de nada.
Craige recomendó utilizar Batch Interactive(1), pero tampoco parece funcionar, como se muestra en el siguiente ejemplo:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( Y( :height ), X( :weight ) );
rbiv = biv << Report;
For Each({box, index}, (rbiv << XPath( "//AxisBox/MouseBox/DropBox/TextEditBox" )),
Batch Interactive(1);
Try(box << Set Font( "Agency FF", 13 ));
Batch Interactive(0);
);¿Alguna idea de por qué Batch Interactive(1) no funciona en este caso y cómo solucionar las fuentes que faltan?
Hola, @Craige_Hales .
Batch Interactive() no está documentado porque se considera experimental.Sin embargo, se ha sugerido al equipo de desarrollo de JMP que promueva la función para que tenga soporte total.Agregaré esta discusión a esa solicitud.El caso de uso típico es como parte de un script que se ejecuta a partir de una acción interactiva, como hacer clic en un botón.
La documentación de la opción "Asistente de Excel" se incluye en las siguientes ubicaciones:
Estaré encantado de transmitirle una solicitud para incluirlo en el ejemplo del índice de secuencias de comandos para abrir datos de Excel.
ver Ignorar o desactivar las alertas JMP modales para la función interactiva por lotes. La versión del script impulsada por botones. sabe Debes ser interactivo y te coloca útilmente en un asistente interactivo.
También, Omitir el asistente de importación de Excel en el script tiene un mejor respuesta .
Finalmente, si tiene el problema opuesto y desea el asistente, consulte Forzar Open() para usar el Asistente de Excel sin cambiar las preferencias
@Wendy_Murphrey Ambos parecen difíciles de descubrir en la documentación.
editar: enlace a variación extraña con SetFont