unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComObj;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
type
TMeses = (Ene = 2, Feb, Mrz, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic);
TDias = (Lun = 2, Mar, Mie, Jue, Vie);
const
xlOpenXMLWorkbook = 51; Sheets : Array[0..2] of String = ('Sheet1', 'Sheet2', 'Sheet3');
procedure TForm1.Button1Click(Sender: TObject);
var
Excel, Range : OleVariant;
WrkB, WrkS : OleVariant;
FileExcel, Msg : String;
i : Integer;
Meses : TMeses;
Dias : TDias;
begin
try
try
Excel := GetActiveOleObject('Excel.Application');
except
Excel := CreateOleObject('Excel.Application');
end;
Excel.DisplayAlerts := False;
Excel.Visible := False;
FileExcel := ExtractFilePath(Application.ExeName) + 'TestExcel.xlsx';
WrkB := Excel.Workbooks.Open(FileExcel);
for i := Low(Sheets) to High(Sheets) do
begin
WrkS := WrkB.Worksheets.Item[Sheets[i]];
WrkS.Range['B2:F13'].Value := EmptyStr;
Randomize;
for Meses := Ene to Dic do
for Dias := Lun to Vie do
WrkS.Cells[Meses, Dias].Value := Random(1000);
end;
WrkS.SaveAs(FileExcel,xlOpenXMLWorkbook);
Msg := 'Actualización de Libro de Trabajo de Excel Finalizada Exitosamente';
MessageDlg(Msg, mtinformation, [mbOk],0);
finally
Excel.Quit;
Excel := Unassigned;
WrkS := Unassigned;
WrkB := Unassigned;
end;
end;
end.