none
Excel Чтение гиперсылок RRS feed

  • Вопрос

  • Добрый день!

    Столкнулся с проблемой есть екселевский файл, пытаюсь прочитать гиперсылки на что получаю ошибку

    //Создаём приложение. Application ObjExcel = new Application(); //Открываем книгу. Workbook ObjWorkBook = ObjExcel.Workbooks.Open(@"C:\Exel\Пример.xlsx", 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false); //Выбираем таблицу(лист). Worksheet ObjWorkSheet; ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];

    for (int i = 2; i < 101000; i++) { //Выбираем область таблицы. (в нашем случае просто ячейку) Range Articl = ObjWorkSheet.get_Range("B" + i.ToString(), "B" + i.ToString()); Range Name = ObjWorkSheet.get_Range("C" + i.ToString(), "C" + i.ToString()); for (int y = 1; y <= 12; y++) { Console.WriteLine(Name.Hyperlinks[y].Address); } if (Articl.Text.ToString() == "") { break; } }

    В ответ получаю: Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))

    Подскажите что можно сделать?


    • Изменено ZEONE 5 сентября 2012 г. 10:17
    5 сентября 2012 г. 10:16

Ответы

  • Привет

    У вас 12 ссылок в ячейке? Не понятен цикл чтения самих ссылок. Попробуйте проверить свойство Count и читать не выше его.

    На какой строке возникает исключение?


    Для связи [mail]


    • Изменено Abolmasov Dmitry 7 сентября 2012 г. 8:41
    • Помечено в качестве ответа ZEONE 10 сентября 2012 г. 9:03
    7 сентября 2012 г. 8:40
  • Прошу прощения что сразу не отписался и морочил голову, проблему решил позавчера.

    Не 12 сылок просто не знал каким образом они хранятся и решил диапазоном проверить 8)

    Все костыли были из за моей невнимательности, поскольку я раньше никогда не связывался с екселем(в сишарпе) то для того чтоб поиграться я взял не полный прайс а просто создал новый документ и скопировал туда кару строчек, когда у меня не получалось прочитать гиперсылку я не знал что делать, долго думал пока не додумался открыть тот злосчастный файл и к моему большому удивлению увидел что гиперсылок то реально нету 8) Я просто их не перенес 8)

    • Помечено в качестве ответа ZEONE 10 сентября 2012 г. 9:03
    10 сентября 2012 г. 9:02

Все ответы

  • Привет

    У вас 12 ссылок в ячейке? Не понятен цикл чтения самих ссылок. Попробуйте проверить свойство Count и читать не выше его.

    На какой строке возникает исключение?


    Для связи [mail]


    • Изменено Abolmasov Dmitry 7 сентября 2012 г. 8:41
    • Помечено в качестве ответа ZEONE 10 сентября 2012 г. 9:03
    7 сентября 2012 г. 8:40
  • Прошу прощения что сразу не отписался и морочил голову, проблему решил позавчера.

    Не 12 сылок просто не знал каким образом они хранятся и решил диапазоном проверить 8)

    Все костыли были из за моей невнимательности, поскольку я раньше никогда не связывался с екселем(в сишарпе) то для того чтоб поиграться я взял не полный прайс а просто создал новый документ и скопировал туда кару строчек, когда у меня не получалось прочитать гиперсылку я не знал что делать, долго думал пока не додумался открыть тот злосчастный файл и к моему большому удивлению увидел что гиперсылок то реально нету 8) Я просто их не перенес 8)

    • Помечено в качестве ответа ZEONE 10 сентября 2012 г. 9:03
    10 сентября 2012 г. 9:02