はじめての書き込みです。
D6 Personalで作ったソフトでEXCELにデータを書き込みたいのです。
C:\BOOK1.XLSのセルA1へ「○○」、B1へ「□□」と。
メーリングリスト等で調べて、一つのボタンで起動して、書き込むまでは出来ましたが、起動と書き込みを単独化できずに困っています。
ひとつのボタンで出来るっって事は変数がそのプロシージャーの中だけで宣言されているからではないでしょうか?
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;
Lupin3rdさん、ありがとうございます。
初心者なものですいません。
サンプルで動作確認したところうまくいきました。
これを参考にソフト開発を進めていきたいと思います。
本当に助かりました。
ツイート | ![]() |