禁止 Eval 所有列公式我试图使用下面的脚本来抑制 eval 或允许对表中的所有列公式进行 eval。 出于某种原因,我在第三次运行脚本时不断收到错误(请参阅快照),但我无法特别找到错误。 感谢社区对调试的帮助。
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>
数据表脚本回复:禁止 Eval 所有列公式导致失败的语法错误是因为
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>