vbs createobject 대 getobject<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />실행중인 JMP 세션에서 정보를 얻을 수있는 VBS / VBA 스크립트를 파워 포인트에 작성하려고합니다.
다음은 기본 코드입니다.
하위 테스트 ()
JMP 응용 프로그램으로 Dim myjmp
Set myjmp = CreateObject ( "JMP.Application")
myjmp.Visible = True
'실행중인 jsl을 테스트하는 코드
myjmp.RunCommand ( "transfer_data = 35;")
areaHeight = myjmp.GetJSLValue ( "transfer_data")
End Sub
사용자가 시작 메뉴 또는 바탕 화면 아이콘을 사용하여 시작된 jmp 세션을 열면 JMP 세션은 스크립트가 실행 된 후에도 열린 상태로 유지됩니다. 사용자가 .jmp 파일을 두 번 클릭하여 JMP를 시작한 경우 거기에 myjmp.quit 호출이 없어도 스크립트가 완료된 후 JMP 세션이 닫힙니다.
두 경우 모두 JMP 세션을 열린 상태로 유지하려면 어떻게해야합니까?
기타 참고 사항 :
다른 응용 프로그램은 app.usercontrol = true 또는 set myapp = GetObject ( "application")를 사용하여 열린 세션의 객체를 가져올 수 있습니다. (GetObject ( "JMP.Application")은 JMP11에서 작동하지 않습니다)
이것은 아무것도하지 않는 것 같습니다.
myjmp.EnableInteractiveMode True
빈 데이터 테이블을 만들면 스크립트가 끝난 후 jmp 세션이 계속 열려 있습니다.
dt = myjmp.NewDataTable ( "")을 설정하십시오.
JMP11.2.1 및 Windows 7.
다시 : vbs createobject 대 getobjectVBS에서 모든 jmp 개체를 제거하고 VBS에서 변수 집합을 설정하고 읽는 JSL을 사용하여 임시 .vbs 파일을 만들어 데이터를 전달했습니다.
Sub IncludeExecuteOptions ()
희미한 fso, f
fso = CreateObject ( "Scripting.FileSystemObject")를 설정하십시오.
어둑한 tempfolder
Const TemporaryFolder = 2
tempfolder = fso.GetSpecialFolder (TemporaryFolder)를 설정하십시오.
f = fso.OpenTextFile (tempfolder & "\ ExecuteOptions.vbs", 1)을 설정하십시오.
str = f.ReadAll
f. 닫음
ExecuteGlobal (str) 호출
엔드 서브
이 메소드는 시작된 방법과 관계없이 JMP 세션을 열린 상태로 둡니다.
다시 : vbs createobject 대 getobjectVisible이 실행되고 스크립트가 완료되면 myjmp 변수가 범위를 벗어나기 때문에 오류가 발생합니다. VBS 스크립트를 상주시키고 실행하는 방식을 유지해야합니다.
브라이언
다시 : vbs createobject 대 getobject안녕하세요,
나는 그것이 단지 함수의 범위에 의한 것이라고 생각하지 않는다.
다음과 같이 3 줄의 test.vbs 스크립트를 작성할 수 있습니다.
희미한 myjmp
Set myjmp = CreateObject ( "JMP.Application")
myjmp.Visible = True
cscript test.vbs를 사용하여 명령 줄에서 실행하면 동일한 동작이 발생합니다. 파일을 두 번 클릭하면 세션이 닫히고, 시작 메뉴에서 시작하면 세션은 열려 있습니다.
다시 : vbs createobject 대 getobject안녕 키이스,
나는 당신이 JMP.Application 변수를 함수의 범위 내에서 정의했기 때문에 JMP 세션이 사라지고 있다고 생각한다. 범위를 벗어나면 JMP가 시스템 종료를 지시하는 객체 참조가 삭제됩니다. 변수를 정의하기 위해 다른 곳을 찾으면 아마 열려있을 것입니다. Excel의 경우 통합 문서로드 기능에 정의되어 있으면 작동합니다. PowerPoint에 대한 충분한 경험이 없기 때문에 여기에 넣을 위치를 알려줍니다. 이 방법을 사용하면 JMP를 호출 할 때 조심해야합니다. 정말로 사라지게 할 때 종료하십시오.
브라이언 코코 란
JMP 개발