• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

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

maliy

Green Team
20.03.2007
180
2
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
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Курс AD