Compile and link the OriginC functions below then issue the command DestroyEmptyWorksheets() ... it works for me ...
void WksDeleteIfEmpty(string WksName) { /* Deletes a named Worksheet if it is empty */ Worksheet Wks; if (Wks.Attach(WksName)) { if(Is_Worksheet_Empty(WksName)==1) { Wks.Destroy(); return; } } }
int Is_Worksheet_Empty(string WksName) { /* Determines whether a named worksheet is empty. returns 1 (Worksheet empty) 0 (Worksheet not empty) -1 (Invalid Worksheet, WksName) */ Worksheet Wks; if (Wks.Attach(WksName)) { int LowRange, HighRange; foreach (Column WksColm in Wks.Columns) { WksColm.GetRange(LowRange, HighRange); if(HighRange>-1) return (0); } return (1); } return (-1); }
void DestroyEmptyWorksheets(void) { /* Deletes all empty worksheet in project .. */ Collection <WorksheetPage> wPg; wPg=Project.WorksheetPages; // All Worksheets in a project foreach (WorksheetPage wksItem in wPg) { WksDeleteIfEmpty(wksItem.GetName()); } } |