vérifier si la feuille de calcul Excel existeJe voudrais écrire un script JMP qui essaie d'ouvrir une feuille de calcul spécifique à partir d'Excel.
Le problème est que si l'un de mes fichiers Excel n'inclut pas la feuille de calcul demandée, le script JMP écrase .
J'ai besoin de conseils comment puis-je l'empêcher? (Je veux dire, vérifiez avant d'ouvrir l'excel, s'il contient la feuille de calcul demandée..)
ceci si mon code:
add_to_DB = function({file_path, sheet, header_line, data_line},
new_dt = Ouvrir(
chemin du fichier,
Feuilles de travail (feuille),
Paramètres de la feuille de calcul(
Les en-têtes commencent sur la ligne ( header_line ),
Les données commencent sur la ligne ( data_line ))
);
......
Re : vérifier si la feuille de calcul Excel existeSi jamais vous voulez trouver une liste de noms de feuilles qui existent dans le classeur Excel, vous pouvez utiliser quelque chose comme :
sheetList = Obtenir des feuilles de calcul Excel( "$SAMPLE_IMPORT_DATA\Team Results.xlsx" );
Afficher(listeFeuilles);
Brian Corcoran
Développement JMP
Re : vérifier si la feuille de calcul Excel existeça marche bien.
Merci
Re : vérifier si la feuille de calcul Excel existeJe doute qu'il y ait eu crash .
Je ne connais aucun moyen pour un script de vérifier la présence d'une feuille particulière dans un classeur Excel ou d'un contenu spécifique dans tout autre type de fichier externe. Votre solution ne fonctionnera donc pas.
Des conditions d'erreur comme la vôtre se produisent tout le temps dans la vraie vie. Il existe des moyens de les traiter dans le script. Avez-vous déjà appris JSL? Tu devrais lire Aider > Livres > Guide de script . Le chapitre 8 de la version actuelle couvre Méthodes de programmation comme la gestion des erreurs.
Êtes-vous sûr que votre code fonctionne lorsque la feuille souhaitée est présente ?
Une façon consiste à faire attention à ce que la fonction Open() renvoie. Qu'est-ce qui est renvoyé au journal ? Avez-vous regardé? Vous pouvez stocker le résultat dans une variable, puis tester s'il a réussi.
Vous pouvez également utiliser le mécanisme de gestion des erreurs intégré pour intercepter la condition d'erreur. Dans votre cas, ce mécanisme fonctionnerait comme cet exemple :
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