Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2012, 14:07   #1
pobedin
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 105
По умолчанию Delphi + Excel

Здравствуйте. Пишу конвертор эксель файлов. Нужно получить значение ссылки ячейки. Т.е. в ячейке написан текст, но ссылка ведет, например, на другой лист. Делаю так:

Код:
ShowMessage(E.ActiveWorkBook.ActiveSheet.Cells[i, j].Hyperlinks[1].Address);
Это все по циклу, но не суть. Ругается на Hyperlinks[1] - "Неверный индекс". В чем может быть проблема или как достать ссылку по-другому ?
pobedin вне форума Ответить с цитированием
Старый 30.11.2012, 14:24   #2
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

смотрите этот пост, в тех компонентов много примеров по роботе с Excel
beegl вне форума Ответить с цитированием
Старый 30.11.2012, 14:36   #3
pobedin
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 105
По умолчанию

Спасибо, но дело в том, что программу уже написал и переписывать с этими компонентами не вариант. А эта ссылка последних штрих, так сказать.
Записал макрос и по нему сделал код делфи и вот ругается на hyperlinks...
pobedin вне форума Ответить с цитированием
Старый 30.11.2012, 16:40   #4
Xardas
Сисадмин
Форумчанин
 
Аватар для Xardas
 
Регистрация: 28.12.2007
Сообщений: 320
По умолчанию

Ссылка считается объектом листа. И номер ячейки, в которой расположена ссылка, не имеет значения. Если просто случайным образом разместить на листе 2 ссылки, то получить их можно так:

Код:
ShowMessage(E.ActiveWorkBook.ActiveSheet.item[1].hyperlinks[1].Address)
ShowMessage(E.ActiveWorkBook.ActiveSheet.item[1].hyperlinks[2].Address)
UPD:
Хотя, возьму свои слова обратно. Ссылку и таким образом получить можно
Код:
ShowMessage(E.ActiveWorkBook.ActiveSheet.Item[1].Cells[i, j].formular1c1);

Последний раз редактировалось Xardas; 30.11.2012 в 16:48.
Xardas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi Excel (сохранение записи в Excel) Кас Алина Общие вопросы Delphi 4 28.05.2010 09:17
как при импорте из Excel в delphi узнать сколько заполненных строк в книге Excel?чтобы организовать цикл betirsolt БД в Delphi 1 17.01.2010 18:51
Delphi -- Excel koma Общие вопросы Delphi 4 24.09.2009 14:33
Delphi ->Excel->График по таблице->Delphi Avalonix БД в Delphi 2 30.10.2008 14:04