Что нового

Как с помощью _Excel_RangeLinkAddRemove сделать ссылку на ячейку в документе?

Pavel

Новичок
Сообщения
125
Репутация
3
Пожалуйста, помогите разобраться.
Не получается сделать ссылку на ячейку.
Вставляется гиперссылка вида "A500#НазваниеЛиста".
 

forc1k

Новичок
Сообщения
42
Репутация
1
Pavel сказал(а):
Пожалуйста, помогите разобраться.
Не получается сделать ссылку на ячейку.
Вставляется гиперссылка вида "A500#НазваниеЛиста".
Пример из справки для ячейки A500
Код:
#include <Array.au3>
#include <Excel.au3>
#include <MsgBoxConstants.au3>


; Create application object and open an example workbook
Local $oAppl = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeLinkAddRemove Example", "Error creating the Excel application object." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookOpen($oAppl, @ScriptDir & "\_Excel1.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeLinkAddRemove Example", "Error opening workbook '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oAppl)
    Exit
EndIf

; *****************************************************************************
; Add a link to cells A1:C1
; *****************************************************************************
_Excel_RangeLinkAddRemove($oWorkbook, $oWorkbook.Activesheet, "A500", "http://www.autoitscript.com", Default, "AutoIt Homepage")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeLinkAddRemove Example 1", "Error setting hyperlink." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeLinkAddRemove Example 1", "Links set to cells 'A500'.")
 
Автор
P

Pavel

Новичок
Сообщения
125
Репутация
3
forc1k, в примере — ссылка на внешний ресурс http.
Мне же нужна ссылка на ячейку внутри этого же документа.

Т.е. ссылка в ячейке A1 ссылается на ячейку A500 в этом же документе, но на другом листе.
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
А так не сработает?
Код:
_Excel_RangeLinkAddRemove($oWorkbook, $oWorkbook.Activesheet, "A500", "#A1", Default, "Ячейка1")
 

forc1k

Новичок
Сообщения
42
Репутация
1
Pavel сказал(а):
forc1k, в примере — ссылка на внешний ресурс http.
Мне же нужна ссылка на ячейку внутри этого же документа.

Т.е. ссылка в ячейке A1 ссылается на ячейку A500 в этом же документе, но на другом листе.
Код:
_Excel_RangeLinkAddRemove($oWorkbook, $oWorkbook.Activesheet, "A500", "#Книга2!A5", Default, "Ячейка1")

OffTopic:
Не надо анманерить сразу, пояснил задачу - получил результат.
 
Автор
P

Pavel

Новичок
Сообщения
125
Репутация
3
forc1k, большое спасибо!
Извини, что нажал палец вниз — не думал, что это напрямую из репутации вычтут (почему-то полагал, что ответ просто станет серым, уйдёт на задний план визуально). Завтра верну! :smile:
 
Верх