싸이먼에서 데이타 분리해서 가져오기
- 상우기
- 1996
- 5
VB나 스크립트 등 이쪽 완전 초보라 고수님들의 자문을 구하고자 도움 요청합니다.
아래와 같은 스크립트 실행하면
------------------------------
Sub RD_BarCode1()
Dim XMLApp As Object
A1$ = GetTagVal("BARCODE.WR_BCODE1")
스캐너로 바코드 데이타 입력
Set XMLApp = CreateObject("microsoft.XMLHTTP")
XMLApp.Open "GET", "http://www.dinoerp.co.kr/fn_momaster_call.php?user=test&code=" + A1$, False
XMLApp.Send
fName$ = XMLApp.ResponseText
SetTagVal "BARCODE.CALL_DATA1", fName$
Set XMLApp = Empty
End Sub
------------------------------
fName$에 다음과 같은 데이타가 저장됩니다.
F507928&20150430&21&71
F507817&20150430&21.1&71.1
.
.
각인번호 &(분리자)충전기한&용기중량&충전량
이 데이타 중에 제일 끝자리에 있는 충전량의 데이타만
따로 가져오고 싶은데 어떻게 처리해야 하는지 고수님들 도움 부탁드려요..
혼자 인터넷 디져보고 책 찾아보고 해봐도 도무지 해결이 안되네요..ㅠㅠ
댓글 5
곰부리님
우선 관심 가져주셔서 정말 감사합니다.^^
곰부리님이 보내주신 예제 다음과 같이 실행해보니
첨부화일과 같이 되더라고요.
(F507928&20150430&21&71.0)
(&21까지만 데이타 불러옴)
실행예제
Sub STRING_CUT()
dim stringbuff$(100)
strmsg$= GetTagVal("BARCODE.CALL_DATA1")
strlen = len(strmsg)
cnt = 1
search = 0
for i = 1 to strlen
x% = InStr(1,strmsg$,"&",1)
if x% <> 0 then
B$ = Mid(strmsg$,1, x%)
strmsg$ = Mid(strmsg$, x% +1 , len(strmsg$) - x%)
strlen = len(strmsg$)
stringbuff$(cnt) = B$
cnt = cnt +1
end if
Next i
for j = 1 to cnt -1
msgbox stringbuff$(j)
next j
End Sub
실행시 제일 끝에 있는 71.0 데이타를
ok 누르는 동작없이 바로 화면에 표시할려고 하는데 가능한가요??
프로젝트 파일 열면 안에 네모 버튼 있는데 떠블 클릭 하면 동작정의 나옵니다
RunScript("STRING_CUT") 버튼 정의가 설정되있습니다 이걸
도구 -> 페이지 환경설정 -> 동작정의 가면 페이지 열기시 동작정의 칸이 있습니다
거기에 RunScript("STRING_CUT") 을 넣어주세요
그리고 확인누른후
아까 버튼은 지우세요
그리고 실행하시면 바로 새창뜨죠..
답변잘 봤습니다
문자열자르기 스크립트 예제.zip
이 예제를 응용하여서 풀어보세요 답이 나올듯 합니다
공백 문자 있으면 분리 하는 예제 인데 위에 언급한 바코드 값은 &로 값을 분리 하니
공백아니 아닌 &값을 가지고 문자 분리를 하면될듯 합니다