Example #1
0
        internal void FixError(Action <WorkbookState> setUIState)
        {
            var cell = _flagged_cell.GetCOMObject(_app);

            // this callback gets run when the user clicks "OK"
            System.Action callback = () =>
            {
                // add the cell to the known good list
                _known_good.Add(_flagged_cell);

                // unflag the cell
                _flagged_cell = null;
                try
                {
                    // when a user fixes something, we need to re-run the analysis
                    Analyze(MAX_DURATION_IN_MS);
                    // and flag again
                    Flag();
                    // and then set the UI state
                    setUIState(this);
                }
                catch (ExcelParserUtility.ParseException ex)
                {
                    System.Windows.Forms.Clipboard.SetText(ex.Message);
                    System.Windows.Forms.MessageBox.Show("Could not parse the formula string:\n" + ex.Message);
                    return;
                }
                catch (System.OutOfMemoryException ex)
                {
                    System.Windows.Forms.MessageBox.Show("Insufficient memory to perform analysis.");
                    return;
                }
            };
            // show the form
            var fixform = new CellFixForm(cell, GREEN, callback);

            fixform.Show();

            // restore output colors
            RestoreOutputColors();
        }
Example #2
0
        internal void FixError(Action<WorkbookState> setUIState)
        {
            var cell = _flagged_cell.GetCOMObject(_app);
            // this callback gets run when the user clicks "OK"
            System.Action callback = () =>
            {
                // add the cell to the known good list
                _known_good.Add(_flagged_cell);

                // unflag the cell
                _flagged_cell = null;
                try
                {
                    // when a user fixes something, we need to re-run the analysis
                    Analyze(MAX_DURATION_IN_MS);
                    // and flag again
                    Flag();
                    // and then set the UI state
                    setUIState(this);
                }
                catch (ExcelParserUtility.ParseException ex)
                {
                    System.Windows.Forms.Clipboard.SetText(ex.Message);
                    System.Windows.Forms.MessageBox.Show("Could not parse the formula string:\n" + ex.Message);
                    return;
                }
                catch (System.OutOfMemoryException ex)
                {
                    System.Windows.Forms.MessageBox.Show("Insufficient memory to perform analysis.");
                    return;
                }

            };
            // show the form
            var fixform = new CellFixForm(cell, GREEN, callback);
            fixform.Show();

            // restore output colors
            RestoreOutputColors();
        }