엑셀 워크시트가 존재하는지 확인Excel에서 특정 워크시트를 열려고 하는 JMP 스크립트를 작성하고 싶습니다.
문제는 내 Excel 파일 중 요청한 워크시트가 포함되지 않은 경우 JMP 스크립트가 으스러집니다.
어떻게 예방할 수 있는지 조언이 필요합니다. (즉, Excel을 열기 전에 요청한 워크시트가 포함되어 있는지 확인하십시오.)
내 코드:
add_to_DB = function({file_path, sheet, header_line, data_line},
new_dt = 열기(
파일 경로,
워크시트(시트),
워크시트 설정(
헤더는 행에서 시작( header_line ),
데이터 시작 행( data_line ))
);
......
Re: Excel 워크시트가 있는지 확인하십시오.Excel 통합 문서에 존재하는 시트 이름 목록을 찾으려면 다음과 같이 사용할 수 있습니다.
sheetList = Excel 워크시트 가져오기( "$SAMPLE_IMPORT_DATA\Team Results.xlsx" );
표시( 시트 목록 );
브라이언 코르코란
JMP 개발
Re: Excel 워크시트가 있는지 확인하십시오.잘 작동합니다.
감사해요
Re: Excel 워크시트가 있는지 확인하십시오.있었는지 의심스럽다. 크래시 .
스크립트가 Excel 통합 문서에 특정 시트가 있는지 또는 다른 외부 파일 형식에 특정 콘텐츠가 있는지 확인하는 방법을 모르겠습니다. 따라서 솔루션이 작동하지 않습니다.
귀하와 같은 오류 조건은 실제 생활에서 항상 발생합니다. 스크립트에서 처리하는 방법이 있습니다. 아직 JSL을 배우셨습니까? 당신은 읽어야합니다 돕다 > 서적 > 스크립팅 가이드 . 현재 버전의 8장은 다룹니다. 프로그래밍 방법 오류 처리와 같은.
원하는 시트가 있을 때 코드가 작동한다고 확신합니까?
한 가지 방법은 Open() 함수가 반환하는 내용에 주의를 기울이는 것입니다. 로그에 무엇을 반환합니까? 봤어? 결과를 변수에 저장한 다음 성공 여부를 테스트할 수 있습니다.
또는 내장된 오류 처리 메커니즘을 사용하여 오류 조건을 트래핑할 수 있습니다. 귀하의 경우 이 메커니즘은 다음 예와 같이 작동합니다.
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