Ver Mensaje Individual
  #4  
Antiguo 22-08-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Reputación: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
carlos gonzalez,

Cita:
Empezado por carlos gonzalez
...guardar un archivo de Excel y si este ya existe no pregunte nada solo lo guarde...


Te comento:

1- Ninguno de los parámetros de Workbook.SaveAs Method (Excel) están relacionados con las alertas de Excel.

2- Para evitar las alertas de Excel, debes poner la propiedad DisplayAlerts de Excel en False.

Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, ComObj, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
const
   xlOpenXMLWorkbook =  51;

var
   Excel, WrkS, WrkB : OLEVariant;
   Row, Col : Integer;
   Rows, Cols : Integer;
   FileExcel : String;

begin

   FileExcel := ExtractFilePath(ParamStr(0)) + 'TestData.xlsx';

   try
      Excel := GetActiveOleObject('Excel.Application');
   except
      Excel := CreateOleObject('Excel.Application');
   end;

   Excel.DisplayAlerts := False;
   Excel.Visible := False;

   WrkB := Excel.Workbooks.Open(FileExcel);
   WrkS := WrkB.Worksheets[1];

   Cols := WrkS.UsedRange.Columns.Count;
   Rows := WrkS.UsedRange.Rows.Count;

   Randomize;

   for Row:= 1 to Cols do
      for Col:= 1 to Rows  do
         WrkS.Cells[Col,Row] := Random(1000);

   WrkS.SaveAs(FileExcel,xlOpenXMLWorkbook);

   Excel.Quit;
   Excel := Unassigned;
   WrkS := Unassigned;
   WrkB := Unassigned;

end;

end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, Permite por medio de automatización abrir, actualizar y salvar una hoja de Excel 2010 con valores aleatorios sin mostrar ninguna alerta ni visualizar la hoja durante el proceso.

Revisa esta información:
Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 22-08-2015 a las 10:42:57.
Responder Con Cita