示例#1
0
        public static Excel.Range GetSheetRange(Worksheet sheet, string rangeString, Primer.RefType refType)
        {
            var parser        = new Primer.RefParser(rangeString, ThisAddIn.MyApp, refType);
            int rowNumber     = parser.firstRowNumber;
            int columnNumber  = parser.firstColumnNumber;
            int rowNumber2    = parser.secondRowNumber;
            int columnNumber2 = parser.secondColumnNumber;

            return(sheet.Range[sheet.Cells[rowNumber, columnNumber], sheet.Cells[rowNumber2, columnNumber2]]);
        }
示例#2
0
        public static void SetArrayFormulas(string cellRange, string formula, Primer.RefType refType = Primer.RefType.A1)
        {
            var sheet  = GetActiveSheet();
            var parser = new Primer.RefParser(cellRange, ThisAddIn.MyApp, refType);

            if (refType == Primer.RefType.R1C1)
            {
                //Need to convert back to A1
                cellRange = parser.ConvertRangeA1_R1C1(cellRange);
            }
            Excel.Range setRange = GetSheetRange(sheet, cellRange, refType);
            setRange.FormulaArray = formula;
            sheet.Cells[1, 1].Calculate();       //this doesn't seem to do much..
        }