Конференция "Corba" » Excel, реализовать в Delphi VB'шный оператор Set [Delphi, Windows]
 
  • YCH.Del (07.12.06 17:36) [0]
    Доброе время суток. Товарищи, есть вопрос:

    1. Как на Delphi сэмулировать "Set" Excel'a
    Set ActiveSheet.VPageBreaks(1).Location = Range("C1")
    2. Если нет ответа на 1.
    ActiveSheet.VPageBreaks.Add (???)
    Что ставить в параметр? Пробовал "D1", Range("D1"), Range["D1"] - не помогает :(

    По первому вопросу в тырнете ничего не нашел вообще :( По второму - только то, что написано в excel'евском хелпе (Add .before = ...). Если кто-нить сталкивался - выручите, плз...
  • umbra © (07.12.06 18:34) [1]
    в делфи все круглые скобки , в которых стоят индексы надо заменять на квадратные. Все двойные кавычки - на одинарные. В онце строк надо добавлять точку с запятой. Оператор присваивание выглядит как := . Кроме того, надо как-то создать экземпляр экселя.

    таким образом,
    Set ActiveSheet.VPageBreaks(1).Location = Range("C1")

    превращается в

    XLApp.ActiveSheet.VPageBreaks[1].Location := Range["C1"];
  • umbra © (07.12.06 18:37) [2]
    т.е. в

    XLApp.ActiveSheet.VPageBreaks[1].Location := Range['C1'];
  • YCH.Del © (08.12.06 09:32) [3]
    Блин, ну я все же чуть-чуть в Delphi разбираюсь... Пример привел из Excel'a (макрос под запись). И то, что ты предложил, уже пробовал. Вся засада именно в Set :( Без него в Excel не сработает (хотя ошибки и не будет)
  • Array © (08.12.06 09:43) [4]

    > YCH.Del ©   (08.12.06 09:32) [3]

    ИМХО тут надо не Range присваивать , а Cells
  • YCH.Del © (08.12.06 09:57) [5]
    Всем спасибо, тема закрыта.
    [code]
    ...
    var B: IDispatch;
    ...
    B := XL.ActiveWorkbook.WorkSheets[1].Range['D1:D3'];
    XL.ActiveSheet.VPageBreaks.Add(B);
    [/code]
 
Конференция "Corba" » Excel, реализовать в Delphi VB'шный оператор Set [Delphi, Windows]
Есть новые Нет новых   [134431   +9][b:0][p:0]