Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ссылка на URL в скрипте для Excel 
V
    Опции темы
F19
Дата 27.3.2007, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 27.3.2007

Репутация: нет
Всего: нет



Доброго времени суток.

Возникла проблема при написании скрипта для Эксцеля. (Скрипт реализую на Delphi через OLE-объект).
Необходимо в одну из ячеек записать строку, которая являлась бы ссылкой на URL (т.е., что-бы пользователь, тыкнув в эту ячейку, попадал на определенный ресурс в интернете). 

Вопрос: как это сделать?
Ну и параллельно с этим обратный вопрос: дан excel-файл, в нем есть несколько ячеек со ссылками. Как программно прочитать адреса ресурсов, на которые они ссылаются?

Это сообщение отредактировал(а) F19 - 27.3.2007, 12:33
PM MAIL   Вверх
_hunter
Дата 27.3.2007, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 2
Всего: 98



как вставить -- начни записывать макрос перед вставкой ссылки; вставь ссылку; закончи писать макрос.
полученный код перепиши на Delphi.
когда у тебя будет код для вставки -- код для чтения будет не сложно написать...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
F19
Дата 28.3.2007, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 27.3.2007

Репутация: нет
Всего: нет



Возможно, не совсем корректно я задал вопрос.

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

procedure TForm1.Button1Click(Sender: TObject);
var
Excel: variant;
begin
 Excel:=CreateOleObject('Excel.Application');
 Excel.Workbooks.Add;
 Excel.Visible:=true;
 Excel.Hyperlinks.Add('A1', 'http://forum.vingrad.ru/');
end;

Выдается исключение: Method 'Hyperlinks' not supported by automation object.

Вот такая вот фигня...    smile 

Это сообщение отредактировал(а) F19 - 28.3.2007, 11:21
PM MAIL   Вверх
_hunter
Дата 28.3.2007, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 2
Всего: 98



если бы ты сделал так, как я говорил -- ты бы знал что гиперссылку нужно вставлять в лист а не в excel...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
F19
Дата 28.3.2007, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 27.3.2007

Репутация: нет
Всего: нет



Пребольшущее спасибо!

Работает!!!!!

Excel.ActiveSheet.Hyperlinks.Add(Excel.selection, 'http://forum.vingrad.ru/');

 smile   smile   smile

Добавлено через 12 минут
Не хочу показаться занудой.... Но....

А как теперь прочитать гиперссылку из конкретной ячейки?...

 smile 
PM MAIL   Вверх
_hunter
Дата 28.3.2007, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 2
Всего: 98



Hyperlinks(i).Address?


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
F19
Дата 28.3.2007, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 27.3.2007

Репутация: нет
Всего: нет



Теперь только осталось найти соответствие между i (я так понял это номер гиперссылки) и, собственно, ячейкой.....
PM MAIL   Вверх
F19
Дата 28.3.2007, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 27.3.2007

Репутация: нет
Всего: нет



Вот заношу гиперссылку в ячейку:
  Excel.ActiveSheet.Hyperlinks.Add(Excel.ActiveSheet.Range['B3'],'http://forum.vingrad.ru/'); 

Здесь все круто - записывается.

Пытаюсь считать ссылку из этой же ячейки и ........ - ну никак не получается....  smile 

И так пробовал: str:=Excel.ActiveSheet.Range['B3'].Hyperlinks(1).Address ;
и так: str:=Excel.ActiveSheet.Range['B3'].Hyperlinks(Excel.ActiveSheet.Range['B3'].Hyperlinks.Count).address;
и как тока не пробовал.... Выдает сообщение "Член группы не найден".

 smile

Добавлено через 7 минут и 5 секунд
Мда....

Вот оно!!!! 

  str:=Excel.ActiveSheet.Range['B3'].Hyperlinks.Item[1].Address ;

  smile 

Теперь работает

 smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.