<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />VBA 자동화. 스크립트가 끝날 때까지 차트가 시작되지 않습니다. 스크립트가 실행 중일 때이를 확인해야합니다.이 문제를 해결할 수있는 방법이 있습니까?
또한, 나는 관련 있다고 가정합니다. 매크로는 여러 차트를 만듭니다. 그러나 겉으로보기에 무작위로 그들 중 일부는 발사에 실패합니다. 홈 윈도우의 창 목록에 나타나지만 수동으로 시작할 때까지 표시되지 않습니다. 내가 뭔가 잘못하고 있다고 가정하지만 그게 뭔지는 모르겠다.
도움을 주셔서 감사합니다.
나는 이것이 바람직하다고 생각한다. 서브 루틴에서 JMP 인스턴스를 만든 다음 종료 할 때 응용 프로그램 포인터를 null로 만들면 언제든지 자동화 문제가 발생할 수 있습니다. JMP 인스턴스를 생성하고 전달하여 수명이 전체 작업 기간 동안 지속되는지 확인하는 것이 일반적으로 최선의 방법입니다.
귀하의 경우에는 기본 윈도우의 초기화가 문제 일 수 있습니다. 당신의 새로운 접근 방식이 그들에게 더 많은 시간을 만들어주는 것처럼 보입니다. 그래서 당신이 그들을 보이게 만들 때 초기화가 완료되고 빠른 출구는 것들을 해치지 않을 것입니다.
브라이언
아마 문제를 발견했을 수도 있습니다.
코드는 일련의 차트를 생성 한 다음 차트 배열을 전송하여 표시되도록했습니다.
이것은 불안정하고 타이밍에 달려 있음이 입증되었습니다. 즉, 더 큰 데이터 테이블에서는 더 자주 실패합니다.
고리
차트 생성 (색인)
다음 것
고리
차트 (인덱스). 런치
차트 (인덱스) .Visable = True
다음 것
나는 세대별로 차트를 시작하고 배열 된 차트를 보냄으로써 그것을 변경했다.
지금까지 나는 끔찍한 행동을 보지 못했다.
고리
차트 생성 (색인)
차트 (인덱스). 런치
다음 것
고리
차트 (인덱스) .Visable = True
다음 것
이것은 복제하기가 어려울 수 있습니다. 보이는 호출 후에 실제 LaunchCharts 서브 루틴에서 수면을 시도하는 것이 좋습니다. 마지막에 Nothing으로 변수를 설정하는 것은 좋은 연습이지만 종료 할 수 있음을 의미합니다.
브라이언
나는 Sleep ()을 더 추가함으로써 그것을 더 나쁘게 만들 수있다. 이 구성은 일반적으로 첫 번째 차트를 시작하는 데 실패하지만 이후의 모든 차트가 시작됩니다.
Sub GenChartsReview (변형 필터, _
변형 이름으로 그룹, _
Iter1 변종으로, _
변형 된 Iter2, _
Iter3 변종으로, _
변이 형 통계 _
부울로 반복)
어둡게 APPjmp, TBLjmp, DOCjmp
GetJMP APPjmp, TBLjmp, DOCjmp
문자로 희미한 텍스트
부울 성공으로 희미 해짐
Dim Stat, A, B, C, 색인, PlotIndex, RowFilter ()
Dim VChart () JMP.Variability로 사용
반복 할 경우
IsReal (Iter1) Then ReDim VChart ((UBound (Iter1, 2) +1))
IfReal (Iter2) Then ReDim VChart (UBound (VChart) * (UBound (Iter2, 2) +1))
그밖에
ReDim VChart (1)
끝면
색인 = 0
A = 0 ~ UBound (Iter1, 2)
B = 0 ~ UBound (Iter2, 2)
성공 = True
RowFilter () 지우기
AddFilters RowFilter, 필터
ClearRowStates TBLjmp
If IsValid (RowFilter) Then 성공 = ExcludeGroup (RowFilter, TBLjmp)
DoEvents
반복 할 경우
IsReal (Iter1) 그런 다음 IncludeItem Iter1 (0, A), Iter1 (1, A), TBLjmp
DoEvents
IsReal (Iter2) 그런 다음 IncludeItem Iter2 (0,
, Iter2 (1,
, TBLjmp
DoEvents
끝면
VChart (색인) = DOCjmp.CreateVariabilityChart 설정
성공하면 GenerateVarCharts VChart (색인), 통계, 그룹
DoEvents
색인 = 색인 + 1
수면 200
다음 것
다음 것
수면 500
성공하면
LaunchCharts VChart
그밖에
DialogAndLive "플롯 할 데이터가 없습니다. 필터 항목이 선택되어 있습니까?"
끝면
DoEvents
ClearRowStates TBLjmp
설정 APPjmp = 아무것도
TBLjmp = 아무 것도 설정하지 않음
DOCjmp = 아무것도 설정
End Sub
Sub LaunchCharts (VChart () As JMP.Variability)
희미한 A
A = 0 ~ UBound (VChart) - 1
V 차트 (A). 런치
VChart (A) .Visible = True
다음 것
End Sub
"고급 편집기"를 사용하는 경우, 왼쪽 아래에서 첨부 아이콘을 찾을 수 있습니다. 또는, 당신이하고있는 일을 나에게 알려주기 위해 VB 코드를 덧붙일 수 있습니다.
브라이언
안녕하세요 브라이언,
당신의 도움에 정말 감사드립니다. 나는 어떤 것도 첨부 할 조항이 없다.
안녕 매트,
나는 당신이 그것을 올렸을 때 어떻게 든 이것을 놓친 것에 대해 사과드립니다. 사용중인 VBA 소스 코드를 제공 할 수 있습니까? 일반적으로 타이밍 문제가있을 때 코드에서 sleep ()을 호출하면 분석 시간을 지정하여 창을 만드는 것과 같은 작업에 도움이 될 수 있습니다. JMP (c : \ program files \ sas \ jmp \ 13 \ Samples \ Automation \ Visual Basic Samples \ Analysis.NET)와 함께 제공되는 Analysis 자동화 샘플 프로그램은 절전 호출을 설정하는 예제를 제공합니다. 운영 체제 기능을 호출한다고 선언해야합니다. 경로의 예제로 13을 사용하고 있지만이 코드는 JMP의 마지막 5 버전에서 제공됩니다.
도움이되기를 바랍니다.
브라이언 코코 란
JMP 개발