<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Kann sich jemand eine einfache Möglichkeit vorstellen, eine ausgewählte Spalte in einer Datentabelle zu duplizieren? Grundsätzlich möchte ich die Spalte auswählen und mit einem einzigen Menüpunktklick eine „Kopie von“ mit allen Attributen, Werten usw. direkt neben dem Original erhalten. Das Hinzufügen, Verschieben, Festlegen von Typen, Kopieren von Werten usw. ist mühsam. Ich nehme an, dass es als Add-In per Skript geschrieben werden könnte, aber ich hatte gehofft, dass es einen einfacheren Weg gibt.
Danke!
Danke, getscript ist genau das, was mir an meinen Skriptkenntnissen gefehlt hat!
Versuchen Sie so etwas. Es unterstützt die Auswahl und das Kopieren mehrerer Spalten.
Namen standardmäßig hier ( 1 ) ;
dt = Aktuelle Datentabelle () ;
Spalten = dt << Holen Sie sich ausgewählte Spalten ;
Für ( ich = 1 , ich <= N Artikel ( Spalten ) , ich ++,
dt << klare Spaltenauswahl ;
Colscr = Spalten [ ich ] << getscript ;
( Bewertung ( Ersatz ( Namensausdruck ( Colscr ) , Arg ( Namensausdruck ( Colscr ) , 1 ) , "Kopie von " || ( Spalten [ ich ] << Namen bekommen ) ) )) << Satz ausgewählt ( 1 ) ;
dt << Ausgewählte Spalten verschieben ( Nach ( Spalten [ ich ] ) ) ;
) ;
Also habe ich dies als Add-In erstellt. Der untere Teil (auskommentiert) war ein Versuch, Spalteneigenschaften zu kopieren, aber es funktionierte nicht. (Das wollte ich vermeiden, aber ich hatte ein langes Meeting und hatte nichts Besseres zu tun ...) Es würde mich immer noch interessieren, ob es etwas Eleganteres als diesen Ansatz gibt.
dt = Aktuelle Datentabelle();
selcol = dt << Ausgewählte Spalten abrufen;
selcolname = dt:selcol << Get Name();
newcname = „Kopie von“ || selcolname;
newc = dt << Neue Spalte( newcname );
newclist = dt:newc << Get Name(); //falls es sich um ein zweites Exemplar handelt!
movestr = "dt << Ausgewählte Spalten verschieben({\!"%newclist%\!"}, After(\!"%selcolname%\!") );";
eval insert into(movestr,"%");
movestrexpr = Parse(movestr);
movestrexpr;
Für jede Zeile(dt:newc = dt:selcol);
/*proplist = dt:selcol << Get Properties List();
for(i=1, i < N Items(proplist), i ++,
currprop = Char(proplist );
gotpropstr = "gotprop = dt:selcol << Get Property(\!"%currprop%\!");";
eval insert into(gotpropstr,"%");
gotpropstrexpr = Parse(gotpropstr);
gotpropstrexpr;
setpropstr = "newc << Eval List(Set Property(\!"%currprop%\!", Liste(gotprop)));";
eval insert into(setpropstr,"%");
setpropstrexpr = Parse(setpropstr);
setpropstrexpr;
);
newcproplist = dt:newc << Get Properties List();
//Eigenschaften anzeigen(dt:selcol);
*/