VBA 자동화 사용<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />이것은 후속 VBA 자동화 질문입니다.
VBA 자동화를 사용하여 Excel에서 jmp 데이터 테이블을 채울 필요가 있습니다.
현재 "SetDataVector"를 사용하여이 작업을 수행하고 소스 배열의 각 요소를 반복합니다. 벡터 형식 "SetDataVector"를 사용하려는 모든 시도가 실패했습니다.
"SetDataVector"기능을 제대로 활용하는 데 도움을 주시면 대단히 감사하겠습니다.
감사,
피트
제목 : Re : VBA 자동화 사용VBA 자동화 경로를 따라 여행 할 때 Excel과 JMP 간의 통신에서 데이터 형식의 암시 적 변환이 있음을 알면 도움이됩니다. 감사!
제목 : Re : VBA 자동화 사용후속 조치에 감사드립니다.
'SetDataVector'는 소스 배열이 double 유형이거나 작업 할 문자열이어야합니다. 변형 인 경우 프로 시저가 실행되지만 내용이 테이블로 전송되지 않습니다. 배열 요소를 두 번째 배열로 순차적으로 전송하면서 형식을 double로 변환하는 동안 (CDbl) 잘 작동합니다.
예상대로 작동하려면 배열이 base0이어야합니다. base1 인 경우 데이터를 이동하고 첫 번째 행을 누락하거나 유효하지 않은 마지막 행을 추가합니다.
감사
제목 : Re : VBA 자동화 사용대부분의 변수는 VB / VBA에서 근본적인 변형 유형을 사용합니다. 루프를 사용하여 VB 측에서 배열을 채우고 셀 값을 개별적으로 설정하는 대신 해당 배열을 전달하면 성능이 훨씬 빨라진다는 것을 알게 될 것입니다. 자동화 호출 사이의 프로세스 간 통신 시간은 개별 셀 케이스를 사용할 때 극적인 속도 저하를 유발합니다.
내가 언급 한 예제에서 배열을 Double 또는 String으로 만드는 것은 사실입니다. 그러나 변형 배열로 전달됩니다 (변환은 암시 적입니다). 객체 브라우저에서 SetDataVector의 메소드 서명을 보면 JMP가 실제로 변형 배열을 기대하고 있음을 알 수 있습니다. 따라서 적어도 Excel 범위의 변형 배열을 JMP로 전달해야합니다. 유형을 내재적으로 변환 할 수 없으면 요소를 개별적으로 복사해야합니다.
브라이언 코코 란
JMP 개발
제목 : Re : VBA 자동화 사용예, 도움이되었습니다. 이제 "SetDataVector"함수를 성공적으로 사용할 수 있습니다 (배열의 유형이 'Double'또는 'String'인 경우). 아쉽게도 배열과 Excel 범위간에 데이터를 전달하려면 배열이 '변형'이어야합니다. 따라서 'SetCellVal'과 배열을 반복하는 것이 내 경우에는 여전히 최상의 옵션 일 수 있습니다.
고맙습니다.
제목 : Re : VBA 자동화 사용JMP 설치에 포함 된 데이터 테이블 자동화 샘플 프로그램에는 구문 예제가 있습니다. "Set Vector"버튼 뒤에있는 코드를 보면 알 수 있습니다. 여기에 모든 것을 게시하는 것은 너무 길다. 샘플 프로그램은 설치 디렉토리 아래에 있습니다. JMP 11의 경우 C : ₩ Program Files ₩ SAS ₩ JMP ₩ 11 ₩ Samples ¥ Automation ¥ Visual Basic Samples ₩ Data Table .NET이됩니다.
도움이되기를 바랍니다.
브라이언 코코 란
JMP 개발