JMP - Excel VBA 자동화안녕하세요, JMP 자동화를 사용하여 "SelectRowsWhere" 기능을 사용하여 선택한 데이터를 기반으로 특정 행 번호를 가져오고 있지만 행 번호 값을 가져올 수 없습니다. 행 번호를 가져오는 다른 방법이 있습니다. 내 코드 아래를 참조하십시오.
하위 getrownum()
Dim MyJMP As JMP.Application
Dim JMPDoc As JMP.Document
Dim DT As JMP.DataTable
MyJMP = CreateObject("JMP.Application") 설정
JMPDoc = MyJMP.OpenDocument("D:\JMP 주 데이터 테이블\TestData.jmp") 설정
MyJMP.Visible = True
DT = JMPDoc.GetDataTable 설정
col1 = JMPDoc.GetDataTable.GetColumn("날짜") 설정
'DT.SelectRows 102056, 102057
'행 번호 102065를 얻으려면 ??
DT.SelectRowsWhere "날짜", rowSelectEquals, rowSelectClearPrevious, "3565986300"
noofrowselected = DT.GetNumberOfRowsByRowState(rowStateSelected)
nn = DT.EnumRowStatesBegin(행 상태 선택)
n1selectedrow = DT.EnumRowStatesGetNextRow()
n2selectedrow = DT.EnumRowStatesGetRowByIndex(1)
getronumff = n1selectedrow
엔드 서브
- 발라
Re: JMP - Excel VBA 자동화안녕하세요 브라이언 코르코란
답변 감사합니다. "데이터 테이블 .NET"을 샘플로 사용하고 있습니다. 이전에 문제는 "SelectRowsWhere"를 사용하여 행 인덱스(행 번호) 값을 가져올 수 없다는 것입니다. 이는 값 유형 때문일 수 있습니다. 이제 코드를 다음으로 변경했으며 목적을 해결합니다.
' **DT.SelectRowsWhere "날짜", rowSelectEquals, rowSelectClearPrevious, "3565986300"**
DT.SelectRowsWhere "날짜", rowSelectEquals, rowSelectClearPrevious, "12-31-2016 12:00:00 AM"
noofrowselected = DT.GetNumberOfRowsByRowState(rowStateSelected)
nn = DT.EnumRowStatesBegin(행 상태 선택)
n1selectedrow = DT.EnumRowStatesGetNextRow()
n2selectedrow = DT.EnumRowStatesGetRowByIndex(1)
getronumff = n1selectedrow
Re: JMP - Excel VBA 자동화또한 개별 열 값을 원하는 경우 데이터 테이블 개체에서 열 개체를 가져온 다음 해당 개체에 대해 GetCellVal을 호출해야 한다는 점도 언급해야 합니다.
예를 들어:
열 = DT.GetColumn("나이")
val = Col.GetCellVal(인덱스)
Re: JMP - Excel VBA 자동화안녕 발라,
JMP와 함께 제공되는 "Data Table .NET" 샘플 프로그램을 살펴보겠습니다. JMP 13의 경우 C:\program files\sas\jmp\13\Samples\Automation\Visual Basic Samples에 있습니다. 이를 수행하는 몇 가지 방법이 있습니다. 하나는 Enum입니다. 샘플에는 원하는 작업을 수행하는 Enum Selected라는 단추가 포함되어 있습니다. 관련 코드는 다음과 같습니다.
NSelected = DT.EnumRowStatesBegin(JMP.rowStateConstants.rowStateSelected)
i = 1에서 NSelected까지
MsgBox(DT.EnumRowStatesGetNextRow, MsgBoxStyle.OkOnly, "다음 선택된 행은")
다음 나는
"선택한 벡터 가져오기" 예제를 볼 수도 있습니다. 이것은 GetRowStateVector 호출을 사용하여 인덱스별로 선택된 모든 행의 배열을 반환합니다.
또 다른 예인 "선택한 데이터 가져오기"는 GetRowStateVectorData를 사용하여 인덱스가 아닌 기본 데이터 값을 반환합니다.
도움이 되기를 바랍니다.
브라이언 코르코란
JMP 개발