Tips5 D400→Excel出力
Delphi/400からExcel出力を行う方法についてご紹介します。
 
処理方法

Delphi/400からExcel出力を行うには主に2つのパターンに分けられます。
   OLEオートメーションを使用する
   サードパーティ製品を利用する(VB-Reportなど)
   

 

 
注意点

OLEオートメーションを使用した場合、端末にExcelが導入されている必要があります。
   

 

 
OLEオートメーションを使用してExcel出力を行うコーディング例は次の通りです。

uses節に「ComObj」を追加しておいてください。
 
procedure TForm1.Button1Click(Sender: TObject);
var
  MsExcel      : Variant;
  MsApplication: Variant;
  WBook        : Variant;
  WSheet       : Variant;
  i            : integer;
begin
  Table1.Open;

  //Excel起動
  MsExcel := CreateOleObject('Excel.Application');
  MsApplication := MsExcel.Application;
  MsApplication.Visible := True;
  WBook  := MsApplication.WorkBooks.Add ;
  WSheet :=WBook.ActiveSheet;
  //Excelにタイトル出力
  WSheet.Cells[1,3].Value :=  '得意先マスター一覧表';
  WSheet.Cells[1,3].Font.Size  :=  15;
  WSheet.Cells[2,1].Value :=  '得意先コード';
  WSheet.Cells[2,2].Value :=  '得意先名';
  WSheet.Cells[2,3].Value :=  '住所';
  WSheet.Cells[2,1].Font.Bold :=  'True';
  WSheet.Cells[2,2].Font.Bold :=  'True';
  WSheet.Cells[2,3].Font.Bold :=  'True';
  //Excelにデータ出力
  with Table1 do
  begin
    i := 0;
    First;
    while not eof do
    begin
      WSheet.Cells[i+3,1].Value :=  FieldByName('CUSTNO').AsInteger;
      WSheet.Cells[i+3,2].Value :=  FieldByName('COMPANY').AsString;
      WSheet.Cells[i+3,3].Value :=  FieldByName('ADDR1').AsString;
      Next;
      i := i + 1;
    end;
    Active := False;
  end;
  //保存の確認を行う
  WBook.Saved  :=  False;
  //Excel終了
  MsApplication.WorkBooks.Close;
  MsExcel.Quit;
end;