すべての列の数式の評価を抑制以下のスクリプトを使用して、テーブル内のすべての列の数式に対してevalを抑制またはevalを許可しようとしました。 何らかの理由で、スクリプトを3回実行したときにエラー(スナップショットを参照)が発生し続けましたが、特にバグを見つけることができません。 これをデバッグする際のコミュニティの助けに感謝します。
names default to here(1);
dt = current data table();
try(formula_suppress = dt:Formula_Suppress,
dt << set table variable("Formula_Suppress",1);
formula_suppress = 1;
);
wait(0.5);
formula_suppress = abs(formula_suppress - 1);
dt << set table variable("Formula_Suppress",formula_suppress);
//show(formula_suppres);
for(i=1,i<=ncol(dt),i++,
as column(dt,i) << suppress eval(formula_suppress)
);
if(formula_suppress == 1,
status = "Suppressed",
status = "Evaluated"
);
NewWindow("Alert",
showToolbars(0),showMenu(0),BorderBox(top(15),bottom(15),left(15),right(15),
VListBox(
TextBox("Formulas in the table are " || char(status),<<SETFONTSTYLE></SETFONTSTYLE>
データ表スクリプティングRe:すべての列の数式の評価を抑制失敗の原因となった構文エラーは、
formula_suppress = dt:Formula_Suppress,
あなたが期待していたものを返していませんでした。以下は、テーブル変数が存在しない場合に正しく返されるコードのリワークです。
names default to here(1);
dt = current data table();
if(try(isempty(dt:Formula_Suppress),1) == 1,
dt << set table variable("Formula_Suppress",1);
formula_suppress = 1;
);
wait(0.5);
formula_suppress = abs(formula_suppress - 1);
dt << set table variable("Formula_Suppress",formula_suppress);
//show(formula_suppres);
for(i=1,i<=ncol(dt),i++,
as column(dt,i) << suppress eval(formula_suppress)
);
if(formula_suppress == 1,
status = "Suppressed",
status = "Evaluated"
);
NewWindow("Alert",
showToolbars(0),showMenu(0),BorderBox(top(15),bottom(15),left(15),right(15),
VListBox(
TextBox("Formulas in the table are " || char(status),<<SETFONTSTYLE></SETFONTSTYLE>