Rellenar un collistbox desde el portapapelesEstoy buscando una manera de llenar un cuadro de lista de columnas de una lista de columnas en el portapapeles.Probé el comando getclipboard () pero como la lista que se devuelve no es una lista de nombres de columnas, este enfoque falla.
Para el fondo, estoy copiando una lista de nombres de columna de una tabla de datos (los nombres se enumeran en las filas) y estoy usando la lista copiada de nombres de columna como entrada para un análisis en otro análisis de tablas de datos.
Si abro la plataforma de análisis (NN) y hago clic derecho en el cuadro de entrada X, puedo pegar los nombres de las columnas.


Me gustaría que los términos aparecieran en el segundo cuadro:

Entonces copiaría los nombres de las columnas y ejecutaría mi script y las columnas podrían seleccionarse en el cuadro opcional.
gracias por cualquier idea!
ScriptingRe: rellenar un collistbox desde el portapapelesTal vez haya una manera más fácil, pero creo que la variable clip_items en el siguiente script le ayudará a comenzar.Esto toma cada línea en el portapapeles y busca una columna coincidente.El resto del script selecciona esas columnas en la tabla de la tabla de datos.Ejecuto este script desde un menú como parte de un complemento.
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 );,
)
);Re: rellenar un collistbox desde el portapapeles¡Eso funcionó muy bien!
Agregué su código a esto y estoy listo para comenzar:
selCols = dt << Get selected Columns( String );
obj2=new window("Reponse Variable",
<<MODAL></MODAL>