EXCELにデータを書き込むするには

解決


きすけ  2002-06-27 20:47:20  No: 1042  IP: [192.*.*.*]

はじめての書き込みです。
D6 Personalで作ったソフトでEXCELにデータを書き込みたいのです。
C:\BOOK1.XLSのセルA1へ「○○」、B1へ「□□」と。
メーリングリスト等で調べて、一つのボタンで起動して、書き込むまでは出来ましたが、起動と書き込みを単独化できずに困っています。

編集 削除
Lupin3rd  2002-06-28 10:16:52  No: 1043  IP: [192.*.*.*]

ひとつのボタンで出来るっって事は変数がそのプロシージャーの中だけで宣言されているからではないでしょうか?
  Excel        : Variant;
  EApplication : Variant;
  WorkBook     : Variant;
  WorkSheet    : Variant;
上記のような変数をパブリックに作成してExcelを操作する間は開放しないようにしてやればできるのではないでしょうか?

以下は一応サンプルです。役に立つは分かりませんが・・・。

//Excelの起動
procedure TForm1.Button1Click(Sender: TObject);
begin
   Excel := CreateOleObject('Excel.Application');
   Excel.Visible:= True;
end;

//Excelの終了
procedure TForm1.Button3Click(Sender: TObject);
begin
      Excel.DisplayAlerts := False;//メッセージダイアログを表示しない
      Excel.Quit;
      Excel := unAssigned;
end;

//新規作成
procedure TForm1.Button2Click(Sender: TObject);
begin
   WorkBook := Excel.WorkBooks.Add;
   WorkSheet := WorkBook.WorkSheets[1];
   WorkSheet.Activate;
end;

//書き込み
procedure TForm1.Button4Click(Sender: TObject);
var
   Col,Row:integer;
   i:integer;
begin
   i := 1;
   for Row := 1 to 100 do begin
      for Col := 1 to 10 do begin
         Excel.ActiveSheet.Cells[Row,Col].Value := i;
         Inc(i);
      end;
   end;
end;

編集 削除
きすけ  2002-06-28 16:25:01  No: 1044  IP: [192.*.*.*]

Lupin3rdさん、ありがとうございます。
初心者なものですいません。
サンプルで動作確認したところうまくいきました。
これを参考にソフト開発を進めていきたいと思います。
本当に助かりました。

編集 削除