<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />データテーブルで選択した列を複製する簡単な方法を誰か思いつく人はいるでしょうか? 基本的に、メニュー項目を 1 回クリックするだけで、列を選択し、元の列のすぐ隣にすべての属性、値などを含む「コピー」を取得したいと考えています。 追加、移動、タイプの設定、値のコピーなどを行うのは面倒です。 アドインとしてスクリプト化できると思いますが、もっと簡単な方法があることを期待していました。
ありがとう!
ありがとう、getscript はまさに私のスクリプト知識に欠けていたものです。
このようなことを試してください。 複数の列の選択とコピーをサポートします。
デフォルトの名前はここにあります( 1 ) ;
dt =現在のデータテーブル() ;
コル= dt <<選択された列を取得する;
のために(私= 1 、私<= N 個のアイテム(コル) 、私++、
dt <<列の選択をクリア;
コルスクル=コル[私】 <<取得スクリプト;
(評価(代わりの(名前の説明(コルスクル) 、引数(名前の説明(コルスクル) 、 1 ) 、 "のコピー " || (コル[私】 <<名前を取得する) ) )) <<選択されたセット( 1 ) ;
dt <<選択した列を移動する(後(コル[私】 ) ) ;
) ;
そこで、これをアドインとして作成しました。 一番下の部分 (コメントアウトされています) は、列のプロパティをコピーしようとしましたが、うまくいきませんでした。 (これは避けようとしていたのですが、他にすることがなく長い会議になってしまいました…) このアプローチよりもエレガントなものがあれば、私はまだ興味があります。
dt = 現在のデータ テーブル();
selcol = dt << 選択された列を取得します。
selcolname = dt:selcol << Get Name();
newcname = "のコピー" ||セルコル名;
newc = dt << 新しい列( newcname );
newclist = dt:newc << Get Name(); //これが 2 番目のコピーである場合に備えて!
movestr = "dt << 選択した列を移動({\!"%newclist%\!"}, 後(\!"%selcolname%\!") );";
eval insert into(movestr,"%");
movestrexpr = 解析(movestr);
移動strexpr;
各行(dt:newc = dt:selcol);
/*proplist = dt:selcol << プロパティリストを取得();
for(i=1, i < N Items(proplist), i ++,
currprop = Char(プロップリスト);
gotpropstr = "gotprop = dt:selcol << Get Property(\!"%currprop%\!");";
eval insert into(gotpropstr,"%");
gotpropstrexpr = 解析(gotpropstr);
getpropstrexpr;
setpropstr = "newc << Eval List(Set Property(\!"%currprop%\!", リスト(gotprop)));";
eval insert into(setpropstr,"%");
setpropstrexpr = 解析(setpropstr);
setpropstrexpr;
);
newcproplist = dt:newc << プロパティリストを取得();
// プロパティを表示(dt:selcol);
*/