public bool getEndCellFromApplication(int timeOutMilliseconds = 60000) { // check start cell this.checkStartCellIsSet(); // get worksheet XS.Worksheet ws = wb.ActiveSheet as XS.Worksheet; // get cell select handler XS.DocEvents_ChangeEventHandler handler = new XS.DocEvents_ChangeEventHandler(checkerEnd); ws.Change += handler; // make app visible and wait for signal wb.Application.Visible = true; signal = new ManualResetEventSlim(false); if (!signal.Wait(timeOutMilliseconds)) { return(false); } ws.Change -= handler; wb.Application.Visible = false; // ------- second cell is set here // ------- now analyze the direction this.setDirection(); return(true); }
// ---------------------- public bool getStartCellFromApplication(int timeOutMilliseconds = 60000) { // get worksheet XS.Worksheet ws = wb.ActiveSheet as XS.Worksheet; // get cell select handler XS.DocEvents_ChangeEventHandler handler = new XS.DocEvents_ChangeEventHandler(checkerStart); ws.Change += handler; // make app visible and wait for signal wb.Application.Visible = true; signal = new ManualResetEventSlim(false); if (!signal.Wait(timeOutMilliseconds)) { return(false); } ws.Change -= handler; wb.Application.Visible = false; // ------- first cell is set here. return(true); }
public ExcelEdit() { // // TODO: 在此处添加构造函数逻辑 // //设置关闭事件 EventDel_BeforeBookClose = new Excel.AppEvents_WorkbookBeforeCloseEventHandler(BeforeBookClose); EventDel_SelectionChange = new Excel.DocEvents_SelectionChangeEventHandler(RangeSelected); EventDel_CellsChange = new Excel.DocEvents_ChangeEventHandler(CellsChange); foreignKey = new Dictionary <string, string>(); }
// ---------------------- public bool getStartCellFromApplication(int timeOutMilliseconds = 60000) { // get worksheet XS.Worksheet ws = wb.ActiveSheet as XS.Worksheet; // get cell select handler XS.DocEvents_ChangeEventHandler handler = new XS.DocEvents_ChangeEventHandler(checkerStart); ws.Change += handler; // make app visible and wait for signal wb.Application.Visible = true; signal = new ManualResetEventSlim(false); if (!signal.Wait(timeOutMilliseconds)) return false; ws.Change -= handler; wb.Application.Visible = false; // ------- first cell is set here. return true; }
public bool getEndCellFromApplication(int timeOutMilliseconds = 60000) { // check start cell this.checkStartCellIsSet(); // get worksheet XS.Worksheet ws = wb.ActiveSheet as XS.Worksheet; // get cell select handler XS.DocEvents_ChangeEventHandler handler = new XS.DocEvents_ChangeEventHandler(checkerEnd); ws.Change += handler; // make app visible and wait for signal wb.Application.Visible = true; signal = new ManualResetEventSlim(false); if (!signal.Wait(timeOutMilliseconds)) return false; ws.Change -= handler; wb.Application.Visible = false; // ------- second cell is set here // ------- now analyze the direction this.setDirection(); return true; }