Проблема с Excel

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Absinthe, 29 Oct 2009.

  1. Absinthe

    Absinthe Member

    Joined:
    15 Feb 2009
    Messages:
    75
    Likes Received:
    90
    Reputations:
    0
    Привет всем!..
    Возникла проблема.
    Нужно изменить значение checkbox в Excel из под Delphi :confused:
     
    1 person likes this.
  2. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Вообще всё очень просто ) достаточно открыть через ComObject экселевский файл.
    и выполнить команды:
    ActiveSheet.Shapes("Check Box 1").Select
    Selection.Value = True // поставить галочку
    Selection.Value = False // снять

    P.S. не нужно везде одно и тоже сообщение постить
     
  3. Absinthe

    Absinthe Member

    Joined:
    15 Feb 2009
    Messages:
    75
    Likes Received:
    90
    Reputations:
    0
    Извиняюсь ..что так сделал :rolleyes:
    Спасибо за помощь!

    ...
    Можно по-подробнее
    Пожалуйста
     
    #3 Absinthe, 29 Oct 2009
    Last edited by a moderator: 29 Oct 2009
  4. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    примерно так делается:
    Code:
    uses comobj;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
     XL : variant;
     x:integer;
    begin
     XL := CreateOleObject('Excel.Application');
     XL.WorkBooks.Open('c:\Êíèãà1.xls');
     XL.Visible := true;
    
     for x:= 1 to XL.ActiveSheet.Shapes.Count do
     begin
      if XL.ActiveSheet.Shapes.Item(x).Name = 'Check Box 1' then
      begin
        XL.ActiveSheet.Shapes.Item(x).Select;
        XL.Selection.Value := false;
        break;
      end;
     end;
    end;
    
     
  5. Absinthe

    Absinthe Member

    Joined:
    15 Feb 2009
    Messages:
    75
    Likes Received:
    90
    Reputations:
    0
    Огромнейшее СПАСИБО!!!!!!!
    За помощь!!!!
    Я очень благодарен!!!!