禁止評估所有列公式我試圖使用下面的腳本來抑制 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>
品質和工藝工程回覆:禁止評估所有欄位公式導致失敗的語法錯誤是因為
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>