Visual Basic을 통한 JMP 자동화: Excel 데이터를 JMP 데이터 테이블에 복사.모두들 안녕,
아래 스크립트는 다음을 수행하도록 되어 있습니다. 이 스크립트는 Excel 통합 문서 데이터를 JMP 테이블에 복사하는 VBA 코드를 실행합니다(JMP 라이브러리 jmp.tlb 사용). 첫 번째 부분은 JMP 자동화와 관련된 기능을 실행할 수 있도록 Excel에서 참조 JMP를 로드하기 위한 것입니다. 두 번째 부분은 모든 워크북 시트를 JMP 데이터 테이블로 내보냅니다. 이 코드를 실행하면 다음 오류가 발생합니다.
MyJMP를 JMP.Application으로 흐리게 표시 선.첫 번째 부분만 실행하면 코드가 작동합니다. JMP 참조(VBA 편집기의 도구>>참조 아래)에 확인 표시를 설정합니다. 두 번째 부분을 실행하면(도구>>참조에서 JMP에 대한 체크 표시를 수동으로 설정한 후) 작동합니다. 따라서 나는 무엇이 잘못되었는지 이해하지 못합니다. 어떤 도움을 주셔서 감사합니다

많은 감사합니다!
에두아르도
하위 내보내기()
'JMP 참조 추가
'1 부
오류 발생 시 다음 재개
Application.VBE.ActiveVBProject.References.AddFromFile _
"C:\프로그램 파일\SAS\JMP\12\jmp.tlb"
오류 시 GoTo 0
'이 부분은 Excel 통합 문서의 모든 탭을 테이블로 JMP에 내보냅니다.
'2 부
MyJMP를 JMP.Application으로 흐리게 표시
JMPdoc을 JMP.Document로 흐리게 표시
MyJMP = CreateObject("JMP.Application") 설정
MyJMP.Visible = 참
JMPdoc = MyJMP.OpenDocument(ThisWorkbook.FullName) 설정
JMPdt를 JMP.DataTable로 흐리게 표시
JMPdt = JMPdoc.GetDataTable 설정
엔드 서브
Re: Visual Basic을 통한 JMP 자동화: Excel 데이터를 JMP 데이터 테이블에 복사합니다.에 추가하겠습니다 @Mark_Bailey Application Builder의 설명서를 가리켜
도움말==>도서==>스크립팅 가이드
"응용 프로그램 만들기" 장을 찾으십시오.
Application Builder를 사용하는 것 외에도 JMP 스크립팅 언어에는 원하는 UI를 구축할 수 있는 전체 표시 객체 세트가 있습니다.예는 JMP와 함께 제공되는 샘플 스크립트 및 앱과 JMP 웹 사이트의 JMP File Exchange에서 사용할 수 있는 많은 JMP 추가 기능에서 찾을 수 있습니다.
Re: Visual Basic을 통한 JMP 자동화: Excel 데이터를 JMP 데이터 테이블에 복사합니다.선택하다 파일 > 새로운 > 애플리케이션 .
Re: Visual Basic을 통한 JMP 자동화: Excel 데이터를 JMP 데이터 테이블에 복사합니다.JMP가 JMP 내에서 사용자 정의 가능한 Windows 양식 또는 UI를 생성하는 플랫폼을 개발하지 않는 이유가 궁금합니다. 우리가 VB를 사용하는 이유는 데이터 추출, 데이터 크런칭 및 데이터 분석을 함께 완전히 자동화하기를 원하기 때문입니다.
Re: Visual Basic을 통한 JMP 자동화: Excel 데이터를 JMP 데이터 테이블에 복사합니다.Visual Basic으로 JMP를 자동화하는 방법에 대한 JMP 설명서를 읽어 보셨습니까? 그렇지 않은 경우 시작하기에 가장 좋은 곳입니다. (문서 폴더의 자동화 참조 PDF를 참조하십시오.) 그런 다음 예제 코드는 샘플/자동화 폴더를 참조하십시오.
Re: Visual Basic을 통한 JMP 자동화: Excel 데이터를 JMP 데이터 테이블에 복사합니다.안녕 모두,
Visual Basic을 통해 JMP를 자동화하는 코드를 성공적으로 찾고 있습니다.
완성하신 분은 저와 공유해 주세요. 이 주제에 대한 귀하의 도움에 감사드립니다.
감사합니다.
Re: Visual Basic을 통한 JMP 자동화: Excel 데이터를 JMP 데이터 테이블에 복사합니다.내보내기 Sub를 VBScript 파일로 이동하지 않는 이유는 무엇입니까? 이 두 작업을 동시에 실행하는 데 문제가 있는 것 같습니다.
VBScript 내에서 COM 인터페이스(jmp.tlb 유형 라이브러리 없이)를 사용하여 JMP를 자동화할 수 있습니다. 이것을 확인하십시오 백지 VBScript를 사용하는 예를 포함하여 이러한 방식으로 JMP를 자동화하는 방법에 대한 몇 가지 정보를 참조하십시오.
그러나 프로그램 흐름을 보면 Excel 워크시트를 JMP 테이블로 가져오려는 것 같습니다. 그렇다면 Open() 함수를 사용하여 가져오기를 수행할 수 있습니다.
Re: Visual Basic을 통한 JMP 자동화: Excel 데이터를 JMP 데이터 테이블에 복사합니다.모두 안녕
문제가있는 곳을 좁힐 수있었습니다 . 나는 모든 것을 단순화했다. 이제 다음 매크로가 포함된 매크로 사용 Excel 통합 문서가 있습니다.
하위 내보내기()
MyJMP를 JMP.Application으로 흐리게 표시
JMPdoc을 JMP.Document로 흐리게 표시
MyJMP = CreateObject("JMP.Application") 설정
MyJMP.Visible = 참
JMPdoc = MyJMP.OpenDocument(ThisWorkbook.FullName) 설정
엔드 서브
이 매크로를 실행하면 엑셀에서 , 그것은 해야 할 일을 합니다. 통합 문서의 시트를 JMP 테이블로 JMP로 내보냅니다.
그런 다음 다음도 있습니다. VBS 스크립트 다음 코드로:
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("\\vfc1home1\home1\eosorio\Profile\Documents\vbs scripts\test.xlsm")
objExcel.Application.Visible = 참
objExcel.Application.Run "ref" ---> jmp.tlb를 로드합니다.
objWorkbook2 = objExcel.ActiveWorkbook으로 설정
objExcel.Application.Run "내보내기" ---> 문제를 일으키는 매크로를 실행합니다. 내 VBS에서 전화하는 경우
objworkbook2.저장
objExcel.ActiveWorkbook.Close
objExcel.Application.Quit
WScript.Echo "완료되었습니다."
WScript.종료
마지막으로 다음 한 줄이 있습니다. JMP 스크립트 :
rp = RunProgram( Executable( "WSCRIPT.EXE" ), Options( "\!"\\vfc1home1\home1\eosorio\Profile\Documents\vbs scripts\exportJMP.vbs\!"" ),읽기 함수("텍스트"));
이제 이것이 모든 것이 실행되는 방식입니다. : 나는 내 것을 달린다 JMP 스크립트 , 그것은 내 전화 VBS 스크립트 그런 다음 마지막으로 Excel 매크로를 실행합니다. 내보내다 . 그러나 실행할 때 매크로 내보내기 모든 것이 멈추고 엑셀은 다음 메시지를 생성합니다. Microsoft Excel은 다른 응용 프로그램이 OLE 작업을 완료하기를 기다리고 있습니다.... JMP의 휠이 회전하는 동안 
도움을 주셔서 감사합니다! 감사해요!
Re: Visual Basic을 통한 JMP 자동화: Excel 데이터를 JMP 데이터 테이블에 복사합니다.모두 안녕
나는 내 문제에 대한 해결책을 찾았지만 또 다른 해결책을 얻었습니다. 내가 하려는 것은 다음과 같습니다. JMP 스크립트는 VBS 스크립트를 호출합니다. VBS 스크립트는 Excel 추가 기능을 실행합니다. Excel 추가 기능은 데이터 파일을 가져와서 처리하고 통합 문서를 생성합니다. 그런 다음 VBS는 계속해서 통합 문서에 두 개의 매크로를 소개합니다. 하나의 매크로는 JMP 참조(jmp.tlb)를 활성화하기 위한 것이고 두 번째 매크로는 최종적으로 통합 문서의 모든 시트를 JMP 테이블로 내보내기 위한 것입니다. JMP 코드를 첨부했고 VBS 코드는 아래에 있습니다(아마도 이것은 다른 사람들에게 흥미로울 것입니다). 이제 모든 것이 실행되는 방식입니다. 추가 기능이 실행되고 통합 문서가 생성된 다음 중단됩니다(Excel은 나중에 표시됨: Microsoft Excel은 다른 응용 프로그램이 OLE 작업을 완료하기를 기다리고 있습니다). 그런 다음 runprogram 명령의 구문을 변경하려고 시도했습니다. Read 함수("텍스트")를 작성하는 대신 Read 함수()를 작성했습니다. 모든 것이 실행되지만(VBS에서 "Finished" 메시지도 표시됨) runprogram commad 뒤에 오는 것이 작동하지 않습니다. JMP 스크립트를 실행하는 순간부터 ntables=0입니다. JMP 스크립트는 VBS 스크립트를 실행하고 runprogram 명령 뒤에 오는 것을 병렬로 실행하는 것처럼 보입니다. 해당 지점에 테이블이 없으므로 ntables=0입니다. 모르겠어요. 내가 runprogram 명령을 잘못된 방식으로 사용하고 있는 것 같은데 그게 내 문제입니다. 쉬운 것이어야 하지만 찾을 수 없습니다. 도움을 주셔서 감사합니다! 감사해요!
파일 호출 myAddin.vbs
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\Users\eduret\AppData\Roaming\Microsoft\AddIns\Gamma Tools.xla")
objExcel.Application.Visible = 참
objExcel.Application.Run "'Gamma Tools.xla'!Pics"
objWorkbook2 = objExcel.ActiveWorkbook으로 설정
xlmodule = objworkbook2.VBProject.VBComponents.Add(1) 설정
str코드 = _
"서브 참조()" & vbCr & _
"오류 발생 시 다음 재개" & vbCr & _
"Application.VBE.ActiveVBProject.References.AddFromFile _" & vbCr & _
"""C:\Program Files\SAS\JMP\12\jmp.tlb""" & vbCr & _
"On Error GoTo 0" & vbCr & _
"엔드 서브"
xlmodule.CodeModule.AddFromString strCode
objExcel.Application.Run "ref"
xlmodule = objworkbook2.VBProject.VBComponents.Add(1) 설정
str코드 = _
"하위 내보내기()" & vbCr & _
"Dim MyJMP As JMP.Application" & vbCr & _
"JMPdoc을 JMP.Document로 흐리게 표시" & vbCr & _
"Set MyJMP = CreateObject(""JMP.Application"")" & vbCr & _
"MyJMP.Visible = True" & vbCr & _
"JMPdoc 설정 = MyJMP.OpenDocument(ThisWorkbook.FullName)" & vbCr & _
"JMP.DataTable로 JMPdt 어둡게 하기" & vbCr & _
"JMPdt = JMPdoc.GetDataTable 설정" & vbCr & _
"엔드 서브"
xlmodule.CodeModule.AddFromString strCode
objExcel.Application.Run "내보내기"
objworkbook2.저장
objExcel.ActiveWorkbook.Close
objExcel.Application.Quit
WScript.Echo "완료되었습니다."
WScript.종료