Тема: Axapta и Excel
Показать сообщение отдельно
Старый 30.09.2008, 18:21   #2  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Можно немножко понагляднее переписать 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('Вызов Аксфорума из ячейки');
}
За это сообщение автора поблагодарили: Stainless (1).