現在Delphi4.ProでExcel2002を起動し印刷データをDelphiから書込んでいますがファイルを事前に作成しています。
ファイルを事前に作成せずにExcel画面にデータを書込みたいのですが、何方か教えて下さい。
OSはXPです。
uses Comobj;
procedure TForm1.PrintClick(Sender: TObject);
var
E_Excel : Variant;
E_Application : Variant;
E_WorkBook : Variant;
E_WorkSheet : Variant;
begin
// Excel をオープン
try
E_Excel := CreateOleObject('Excel.Application');
E_Application := E_Excel.Application;
except
on EOleSysError do begin
//起動失敗
ShowMessage('Excelが起動できません');
E_Excel := Null;
Exit;
end;
end;
E_Application.Visible := True;
E_Application.WorkBooks.Open('C:\A_C\MyData.xls'); //xlsファイルを指定
E_WorkBook := E_Application.ActiveWorkbook;
E_WorkSheet := E_Application.ActiveSheet;
// データをファイルに書き込む
E_WorkSheet.Cells(1,1).Value := '1234';
// WorkBookの内容を保存してExcelを終了する
E_WorkBook.Saved := FALSE;
E_Application.WorkBook.Close;
E_Excel.Quit;
E_Excel := unAssigned;
E_WorkBook := Unassigned; //変数のクリア
E_WorkSheet := Unassigned; //変数のクリア
end;
Open文で指定するファイル名をExcelを起動してBook1.xisの新規作成にしたいのです。
すみません、解決しました。
ツイート | ![]() |