클립 보드의 열 목록에서 collistbox를 채우는 방법을 찾고 있습니다.getclipboard () 명령을 시도했지만 반환되는 목록이 열 이름 목록이 아니기 때문에이 방법은 실패합니다.
배경을 위해 한 데이터 테이블에서 열 이름 목록을 복사하고 (이름은 행에 나열 됨) 복사 된 열 이름 목록을 다른 데이터 테이블 분석의 분석에 대한 입력으로 사용합니다.
분석 플랫폼 (NN)을 열고 X 입력 상자를 마우스 오른쪽 버튼으로 클릭하면 열 이름을 붙여 넣을 수 있습니다.


두 번째 상자에 용어를 표시하고 싶습니다.

따라서 열 이름을 복사하고 스크립트를 실행하면 옵션 상자에서 열을 선택할 수 있습니다.
모든 아이디어에 감사드립니다!
더 쉬운 방법이있을 수 있지만 아래 스크립트의 clip_items 변수가 시작하는 데 도움이 될 것이라고 생각합니다.클립 보드의 각 줄을 가져와 일치하는 열을 찾습니다.나머지 스크립트는 데이터 테이블 테이블에서 해당 열을 선택합니다.추가 기능의 일부로 메뉴에서이 스크립트를 실행합니다.
names default to here(1);
dt = current data table();
//Get list of columns in clipboard
clip_input = Get Clipboard();
clip = clip_input;
clip_items = {};
done = 0;
for( i = 1, done == 0 & i < 10000, i++,
show(clip);
If (
N Items(Regex Match(clip,"[\!\r\!\n]")) == 0
,
if(
length(clip) > 0
,
Insert Into( clip_items, clip)
);
done = 1;
,
thisrow = Regex(clip,"(.+?)[\!\r\!\n]","\!\1");
if( length(thisrow) > 0, Insert Into( clip_items, thisrow) ) ;
clip = Regex(clip,"\!\n(.*)","\1");
);
);
if( i > 10000, stop("found more than 10000 variables"));
col_names = dt << Get Column Names( String );
For( i = 1, i <= N Items( col_names ), i++,
if( contains( clip_items, col_names[i] ),
Column( dt, i ) << Set Selected ( 1 );,
Column( dt, i ) << Set Selected( 0 );,
)
);정말 잘 작동했습니다!
나는 이것에 당신의 코드를 추가했고 나는 갈 수 있습니다.
selCols = dt << Get selected Columns( String );
obj2=new window("Reponse Variable",
<<MODAL></MODAL>