변수 및 와일드카드를 사용하여 JMP 파일 열기<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />사용자에게 텍스트 파일을 선택하라는 메시지를 표시한 후 파일이 열리고 이 텍스트 데이터 파일 이름에 포함된 사이트 이름을 기반으로 다음과 같이 변수가 생성됩니다.
dt.rawdata = 열기(
파일 선택( ......
)
);
// 파일 이름인 문자열 생성
dtname = dt.rawdata << Get Name;
// 파일 이름에서 사이트 이름만 제거하는 siteid라는 변수를 만듭니다.
If( Word( 1, dtname, "_" ) == "UC",
사이트 ID = "UC_" || 단어( 2, dtname, "_" ),
siteid = Word( 1, dtname, "_" )
);
제가 지금 고심하고 있는 것은 이름에 방금 결정된 사이트 ID가 포함된 JMP 데이터 파일을 여는 방법입니다.디렉토리에 약 40개의 .xls 및 .jmp 데이터 파일이 있으며 다음과 같이 파일 이름에 siteid가 포함된 유일한 JMP 파일을 열려고 합니다.
어디 ? LTEM 데이터 뒤에 오는 텍스트 문자열의 와일드카드입니다.파일 이름은 siteid LTEM Data, yyyy - YTD.jmp 형식을 따릅니다. 여기서 yyyy는 시작 연도를 나타내며 사이트 ID에 따라 다릅니다.
dt.metplots = 열기(
"$dir_metplots/" || 사이트 아이디 || " LTEM 데이터?" || ".jmp"
);
이를 위해 사용할 수 있는 와일드카드가 있습니까? 아니면 이를 수행할 수 있는 다른 영리한 방법이 있습니까?미리 감사드립니다.
Re: 변수와 와일드카드를 사용하여 JMP 파일 열기고마워 MS,
잘 작동합니다.siteid 접두사가 있는 다른 많은 파일이 존재함에도 불구하고 제공된 코드를 사용하여 올바른 JMP 파일을 가져오는 방법이 궁금했습니다.내가 열려고 하는 올바른 파일이 siteid 접두사로 나열된 첫 번째 파일인 것은 운이 좋았습니다.따라서 목록의 siteid에 해당하는 첫 번째 파일이 JMP 파일이 아닌 경우 JMP 파일을 열 수 있도록 다음 Ends With 코드를 추가했습니다.
For( i = 1, i <= n, i++,
If( AND( 다음으로 시작( 파일 , siteid ), 다음으로 끝남( 파일 , "jmp" ) ),
파일명 = 파일 ;
부서지다();
)
);
이 작은 연습에서 많은 것을 배웠습니다.도와주셔서 다시 한 번 감사드립니다.
Re: 변수와 와일드카드를 사용하여 JMP 파일 열기여기서 와일드 카드를 사용할 수 없다고 생각합니다.
이 접근 방식이 적합할 수도 있습니다(위에서 복사한 첫 번째 명령).
dt.rawdata = 열려 있는 ( 파일 선택 ()) ;
// 파일 이름인 문자열 생성
dtname = dt.rawdata << 이름 얻기 ;
// 파일 이름에서 사이트 이름만 제거하는 siteid라는 변수를 만듭니다.
만약에 ( 단어 ( 1 , dtname , "_" ) == "UC" ,
사이트 ID = "UC_" || 단어 ( 2 , dtname , "_" ) ,
사이트 아이디 = 단어 ( 1 , dtname , "_" )
) ;
// 디렉토리에 파일 목록 생성
길 = "$dir_metplots/" ;
파일 = 디렉토리의 파일 ( 길 ) ;
N = N개 항목 ( 파일 ) ;
// 현재 siteid로 시작하는 파일 이름 가져오기
을 위한 ( 나 = 1 , 나 <= N , 나 ++,
만약에 ( 다음으로 시작 ( 파일 [ 나 ] , 사이트 아이디 ) ,
파일 이름 = 파일 [ 나 ] ;
부서지다 ()
)
) ;
// 파일 열기
dt.metplots = 열려 있는 ( 길 || 파일 이름 ) ;