Ячейка в Excel как гиперссылка

  • Автор темы Автор темы maliy
  • Дата начала Дата начала

maliy

Green Team
20.03.2007
180
2
BIT
90
x$=""& doc.NotesURL &""
s1$="=ГИПЕРССЫЛКА("""&x$&"""" & ";"& """ссылка""" & ")"
s2$="=ГИПЕРССЫЛКА("""&x$&"""" & """ссылка""" & ")"

xlWbk.ActiveSheet.Cells(1,1).Formula=s1$
собственно мне нужно сформировать строку s1 и записать ее , но выводит "OLE: Automation object error"
Если s2 , то мне в формуле не хватает точки с запятой(;) и ячейка не получается как гиперссылка. Если потом вручную добавляю в ячейке ; то ячейка становится гиперсылкой.
Как при выводе данных в Excel ячейку сделать гиперссылкой??
 
Не пробовали в Excel включить запись макросов, вставить гиперссылку, остановить запись и посмотреть код макроса?
 
Не пробовали в Excel включить запись макросов, вставить гиперссылку, остановить запись и посмотреть код макроса?
я файл excel готовлю на лету Set xl=CreateObject("Excel.Application"). хотелось бы решить вопрос "на лету" а не использовать какой то готовый файл с макросом и заполнять его.
 
я файл excel готовлю на лету Set xl=CreateObject("Excel.Application"). хотелось бы решить вопрос "на лету" а не использовать какой то готовый файл с макросом и заполнять его.
речь не об использовании готового файла с макросом.
В Excel есть возможно "записи" макроса, то есть включается запись, делается манипуляция руками внутри окна, затем запись останавливается.
Это всё сохраняется как отдельный макрос VBA, его можно потом посмотреть глазами, там будет код, который можно спокойно перенести на LS и использовать так же "на лету".
Это самый простой способ.
и насколько я помню, ограничение на 65к гиперссылок на одном листе еще осталось, так что внимательнее с объемами.
 
И вообще, программно гиперссылки делаются иначе:
Сначала нужно получить ячейку или range, а потому уже туда добавлять гиперссылку.

Visual Basic:
Set range = ExcelSheet.Cells(2,1)
Call range.Hyperlinks.add(range, <link>, <подсказка>, <текст для отображения>)
 
  • Нравится
Реакции: maliy
Visual Basic:
Set range = ExcelSheet.Cells(2,1)
Call range.Hyperlinks.add(range, <link>, <подсказка>, <текст для отображения>)
Это сработало. Подобное делал . но без Call
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!