compruebe si existe la hoja de cálculo de ExcelMe gustaría escribir un script JMP que intente abrir una hoja de trabajo específica desde Excel.
El problema es que si uno de mis archivos de Excel no incluye la hoja de trabajo solicitada, entonces el script JMP aplasta.
Necesito consejo ¿cómo puedo prevenirlo? (Quiero decir, verifique antes de abrir Excel, si incluye la hoja de trabajo solicitada ...)
este es mi codigo:
add_to_DB = function({file_path, sheet, header_line, data_line},
new_dt = Abrir (
ruta de archivo,
Hojas de trabajo (hoja),
Configuración de la hoja de trabajo(
Los encabezados comienzan en la fila (header_line),
Los datos comienzan en la fila (línea_datos))
);
......
Re: comprobar si existe la hoja de cálculo de ExcelSi alguna vez desea encontrar una lista de nombres de hojas que SÍ existen dentro del libro de Excel, puede usar algo como:
sheetList = Obtener hojas de cálculo de Excel ("$SAMPLE_IMPORT_DATA\Team Results.xlsx");
Mostrar (listahojas);
Brian Corcorán
Desarrollo JMP
Re: comprobar si existe la hoja de cálculo de Exceleso funciona bien
Gracias
Re: comprobar si existe la hoja de cálculo de Exceldudo que haya alguna choque .
No conozco ninguna forma de que un script verifique la presencia de una hoja en particular en un libro de Excel o contenido específico en cualquier otro tipo de archivo externo. Así que tu solución no funcionará.
Las condiciones de error como la suya ocurren en la vida real todo el tiempo. Hay maneras de tratar con ellos en el guión. ¿Ya aprendiste JSL? deberías leer Ayuda > Libros > Guía de secuencias de comandos . El capítulo 8 en la versión actual cubre Métodos de programación como el manejo de errores.
¿Está seguro de que su código funciona cuando la hoja deseada está presente?
Una forma es prestar atención a lo que devuelve la función Open(). ¿Qué se devuelve al registro? ¿Lo viste? Puede almacenar el resultado en una variable y luego probar si fue exitoso.
Como alternativa, puede usar el mecanismo de manejo de errores incorporado para atrapar la condición de error. En tu caso, este mecanismo funcionaría como este ejemplo:
Try(
new_dt = Open(
file_path,
Worksheets( sheet ),
Worksheet Settings( Headers Start on Row( header_line ), Data Starts on Row( data_line ) )
),
// code in case Open() fails
);;
// code in case Open() succeeds