Можно немножко понагляднее переписать VBA:
Код:
Sub ExcelMacro()
Dim myRange As Range 'в Аксапте это будет COM myRange
Dim myHyperlink As Hyperlink 'в Аксапте это будет COM myHyperlink
Set myRange = Application.ActiveSheet.Range("A1")
Set myHyperlink = myRange.Hyperlinks.Add(myRange, "http://www.axforum.info/")
myHyperlink.TextToDisplay = "Вызов Аксфорума из ячейки"
End Sub
И далее портировать на X++:
X++:
{
ComExcelDocument_RU doc = new ComExcelDocument_RU();
COM xlApp;
COM wbook;
COM activeSheet;
COM rng;
COM hyperlink;
;
doc.NewFile();
wbook = doc.getComDocument();
xlApp = wbook.Parent();
activeSheet = xlApp.ActiveSheet();
rng = activeSheet.Range('A1');
hyperlink = rng.Hyperlinks();
hyperlink = hyperlink.Add(rng,'http://www.axforum.info/');
hyperlink.TextToDisplay('Вызов Аксфорума из ячейки');
}
Если хочется непременно через Selection, то как-то так (вместо последних четырех строчек выше):
X++:
...................
rng = activeSheet.Range('C10');
rng.Select();
hyperlink = activeSheet.Hyperlinks();
hyperlink = hyperlink.Add(xlApp.Selection(),'http://www.axforum.info/');
hyperlink.TextToDisplay('Вызов Аксфорума из ячейки');
}