27.05.2013, 22:20 | #1 |
Administrator
|
здрасьте!
очень хочется добавить ссылочку в ячейке Excel на другие ячейки. код VBA вот такой: ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= "Лист1!B17:B24" начинаю рисовать в навике, получаю примерно такую конструкцию: xlWorkSheet.Hyperlinks.Add(xlWorkSheet.Range('A1'), 'Лист1!B17:B24'); компилячится, но не работает. ибо Add не равен Add Anchor печалька. поможите кто чем может? |
|
28.05.2013, 08:36 | #2 |
Участник
|
Такой код вполне работает:
xlReportSheet.Hyperlinks.Add(xlRange, pWithLink, '', '', pWithText); |
|
28.05.2013, 11:31 | #3 |
Administrator
|
попробовал, с первого раза не полетело.
pWithLink и pWithText это текстовые переменные? во первой ссылка, во второй что? |
|
28.05.2013, 13:29 | #4 |
Участник
|
Первая - ссылка, вторая - текст который показывается в ячейке
|
|
28.05.2013, 21:29 | #5 |
Administrator
|
xlWorkSheet.Hyperlinks.Add(xlWorkSheet.Range('A1'), 'Лист1!B17:B24', '','','ура!');
Это сообщение для C/AL программистов: Не удалось вызвать функцию Add. Компонент OLE или сервер Automation вернул следующее сообщение: Требуемая функция не существует, или вызов пытается присвоить значение свойству, которое не изменяется. понять бы, про какую функцию или свойство он говорит... |
|
29.05.2013, 09:34 | #6 |
Участник
|
У меня получилось так:
Код: CREATE(xlApp,TRUE); xlWrkbook := xlApp.Workbooks.Add; xlWrksheet := xlWrkbook.ActiveSheet; Hypers := xlWrksheet.Hyperlinks; Hypers.Add(xlWrksheet.Range('A1'),'', 'Лист1!B17', '','Ура!'); xlApp.Visible(TRUE); Name DataType Subtype Length xlApp Automation Unknown Automation Server.Application xlWrksheet Automation Unknown Automation Server.Worksheet xlWrkbook Automation Unknown Automation Server.Workbook Hypers Automation 'Microsoft Excel 12.0 Object Library'.Hyperlinks |
|
29.05.2013, 10:49 | #7 |
Administrator
|
ура!
xlWorkSheet.Hyperlinks.Add(xlWorkSheet.Range('A1'), '', 'Лист1!B17:B24', '', 'test 0'); не работает! но! если мы заменим какую-то часть на переменную, то начинает работать! причем заменить можно как xlWorkSheet.Hyperlinks, так и xlWorkSheet.Range!!! оба примера ниже - работающие: _Hyp := xlWorkSheet.Hyperlinks; _Hyp.Add(xlWorkSheet.Range('A2'), '', 'Лист1!B17:B24', '', 'test 1'); _Range := xlWorkSheet.Range('A3'); xlWorkSheet.Hyperlinks.Add(_Range, '', 'Лист1!B17:B24', '', 'test 2'); спасибо rmv, InTacto, Quattro!!! |
|