controlla se esiste un foglio di lavoro excelVorrei scrivere uno script JMP che tenti di aprire un foglio di lavoro specifico da Excel.
Il problema è che se uno dei miei file excel non include il foglio di lavoro richiesto, lo script JMP crush .
Ho bisogno di un consiglio come posso prevenirlo? (Voglio dire, controlla prima di aprire Excel, se include il foglio di lavoro richiesto..)
questo si il mio codice:
add_to_DB = funzione({percorso_file, foglio, riga_intestazione, riga_dati},
nuovo_dt = Apri(
percorso del file,
Fogli di lavoro (foglio),
Impostazioni foglio di lavoro(
Le intestazioni iniziano sulla riga (header_line),
I dati iniziano su riga( data_line ))
);
......
Re: controlla se esiste un foglio di lavoro excelSe vuoi trovare un elenco di nomi di fogli che esistono all'interno della cartella di lavoro di Excel, puoi usare qualcosa come:
sheetList = Ottieni fogli di lavoro Excel ("$ SAMPLE_IMPORT_DATA \ Team Results.xlsx" );
Mostra( sheetList );
Brian Corcoran
Sviluppo JMP
Re: controlla se esiste un foglio di lavoro excelfunziona bene.
Grazie
Re: controlla se esiste un foglio di lavoro excelDubito che ce ne fosse qualcuno incidente .
Non conosco alcun modo per uno script per verificare la presenza di un particolare foglio in una cartella di lavoro di Excel o per contenuto specifico in qualsiasi altro tipo di file esterno. Quindi la tua soluzione non funzionerà.
Condizioni di errore come la tua si verificano sempre nella vita reale. Ci sono modi per affrontarli nella sceneggiatura. Hai già imparato JSL? Dovresti leggere Aiuto > Libri > Guida agli script . Il capitolo 8 nella versione attuale copre Metodi di programmazione come la gestione degli errori.
Sei sicuro che il tuo codice funzioni quando è presente il foglio desiderato?
Un modo è prestare attenzione a ciò che restituisce la funzione Open(). Cosa viene restituito al registro? L'hai guardato? È possibile memorizzare il risultato in una variabile e quindi verificare se ha avuto successo.
In alternativa, è possibile utilizzare il meccanismo di gestione degli errori integrato per intercettare la condizione di errore. Nel tuo caso, questo meccanismo funzionerebbe come questo esempio:
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