Trigger the execution of Column/MatrixObject formula For Origin version 8 or later.
BOOL ExecuteFormula( int nBegin = -1, int nEnd = -1, BOOL bUndo = TRUE, int nC1 = -1, int nC2 = -1, DWORD dwCtrl = 0, UINT nColRepeatCount = 0, UINT nRefColUID = 0 )
TRUE on success and FALSE on failure.
EX1
// Create a worksheet with column formulas in place and execute void DataObject_ExecuteFormula_Ex1() { Worksheet wks; wks.Create("origin", CREATE_VISIBLE); Column col; col.Attach(wks, 0); col.SetFormula("5*(i-1)"); BOOL bRet = col.ExecuteFormula(); }
EX2
void DataObject_ExecuteFormula_Ex2() { MatrixPage mp; mp.Create("origin"); MatrixLayer ml = Project.ActiveLayer(); MatrixObject moMy(ml, 0); if(moMy) { moMy.SetFormula("i*i"); moMy.ExecuteFormula(0,-1, TRUE, 2,4); } }
Must call SetFormula the set the formula before ExecuteFormula.
DataObject::GetFormula, DataObject::SetFormula
origin.h