Füllen Sie eine Kollistbox aus der ZwischenablageIch suche nach einer Möglichkeit, eine Kollistbox aus einer Liste von Spalten in der Zwischenablage zu füllen.Ich habe den Befehl getclipboard() ausprobiert, aber da die zurückgegebene Liste keine Liste mit Spaltennamen ist, schlägt dieser Ansatz fehl.
Als Hintergrund kopiere ich eine Liste von Spaltennamen aus einer Datentabelle (die Namen werden in den Zeilen aufgelistet) und verwende die kopierte Liste von Spaltennamen als Eingabe für eine Analyse in einer anderen Datentabellenanalyse.
Wenn ich einfach die Analyseplattform (NN) öffne und mit der rechten Maustaste auf das X-Eingabefeld klicke, kann ich die Spaltennamen einfügen.


Ich möchte, dass die Begriffe im zweiten Feld angezeigt werden:

Also würde ich die Spaltennamen kopieren und mein Skript ausführen und die Spalten könnten im optionalen Feld ausgewählt werden.
Danke für alle Ideen!
DatenzugriffMassenanpassungQualitäts- und VerfahrenstechnikBetreff: Eine Kollistbox aus der Zwischenablage füllenDas hat wirklich gut funktioniert!
Ich habe Ihren Code hinzugefügt und kann loslegen:
selCols = dt << Get selected Columns( String );
obj2=new window("Reponse Variable",
<<MODAL></MODAL>Betreff: Eine Kollistbox aus der Zwischenablage füllenVielleicht gibt es einen einfacheren Weg, aber ich denke, die Variable clip_items im Skript unten würde Ihnen den Einstieg erleichtern.Dies nimmt jede Zeile in der Zwischenablage und sucht nach einer passenden Spalte.Der Rest des Skripts wählt diese Spalten in der Datentabelle aus.Ich führe dieses Skript über ein Menü als Teil eines Add-Ins aus.
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, throw("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 );,
)
);<BR />