GARANTIR DESCONTO

Fórum Ajuda com Excel e Delphi #351144

27/12/2007

0

Olá estou fazendo um aplicativo que acessa o excel e importa os dados de uma plan para um banco em FB, uso ADO pra conextar ao arquivo de excel só que antes de conectar tenho que selecionar as celulas que contem dados e definir um nome pra essa seleção e não estou conseguindo pra isso totentando usar OLE
aqui é o codigo da minha unit:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComObj;

type
  TForm1 = class(TForm)
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    Excel: Variant;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin
  Excel := CreateOleObject(´Excel.Application´);

  if OpenDialog1.Execute then
  begin
    Excel.WorkBooks.Open(OpenDialog1.FileName);
  end;
  Excel.visible := True;
  Excel.Range[´A1´].Select;
  Excel.Range[´Selection, ActiveCell.SpecialCells(xlLastCell)´].Name := ´Eduardo´; (Aqui da erro )
  Excel.ActiveSheet.Selection.NumberFormat := ´@´; (Se eu comentar a linha a cima e deixar essa da erro dizendo que ´Selection´ não é suportado em automação OLE)


end;

end.


Algem pode me ajudar??


Logam

Logam

Responder

Posts

30/12/2007

Marcelo.mileris

Vou deixar aqui a solução do problema caso alguém precise fazer o mesmo um dia

var
  Ate : string;
begin
  try
    Excel := CreateOleObject(´Excel.Application´);
    if OpenDialog1.Execute then
      Excel.WorkBooks.Open(OpenDialog1.FileName);
    //Utilizo aqui o StringReplace pois o Address retorna $C$11 como resultado
    Ate := StringReplace(Excel.ActiveCell.SpecialCells(xlLastCell).Address,´$´,´´,[rfReplaceAll]);
    Excel.visible := True;
    Excel.Range[´A1´,Ate].Select;
    Excel.Range[´A1´,Ate].Name := ´Tabela´;
  except
    Excel.Quit;
  end;


Com isso, a planilha selecinada será configurada para ser utilizada com ADO, podendo assim, seus dados serem importados


Abraços


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar