Как найти именованный диапазон ячейки - VSTO

Я был для цикла для ясности. В то время как я использую цикл с условием продолжения , когда сталкивающийся с некоторым недетерминированным условием.

6
задан Webcognoscere 19 November 2009 в 16:15
поделиться

2 ответа

Вот пример кода (взять отсюда), как можно выполнить итерацию по именованному диапазону в Excel.

private Excel.Workbook m_workbook;
object missing = Type.Missing;

   public void testNamedRangeFind()
    {
        m_workbook = Globals.ThisAddIn.Application.ActiveWorkbook;
        int i = m_workbook.Names.Count;
        string address = "";
        string sheetName = "";

        if (i != 0)
        {
            foreach (Excel.Name name in m_workbook.Names)
            {
                string value = name.Value;
                //Sheet and Cell e.g. =Sheet1!$A$1 or =#REF!#REF! if refers to nothing
                string linkName = name.Name;
                //gives the name of the link e.g. sales
                if (value != "=#REF!#REF!")
                {
                    address = name.RefersToRange.Cells.get_Address(true, true, Excel.XlReferenceStyle.xlA1, missing, missing);
                    sheetName = name.RefersToRange.Cells.Worksheet.Name;
                }
                Debug.WriteLine("" + value + ", " + linkName + " ," + address + ", " + sheetName);
            }
        }

    }
8
ответ дан 9 December 2019 в 20:45
поделиться

Вам нужно пройти через коллекцию имен, чтобы найти именованный диапазон

0
ответ дан 9 December 2019 в 20:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: