Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   funcion ExcelApplication1.ActiveWorkbook.SaveAs (https://www.clubdelphi.com/foros/showthread.php?t=88897)

carlos gonzalez 22-08-2015 06:49:52

funcion ExcelApplication1.ActiveWorkbook.SaveAs
 
Hola amigos buenas.

He estado buscando ya varios días en la web y no he encontrado el parámetro que se debe de cambiar a esta función, para que al guardar un archivo de Excel y si este ya existe no pregunte nada solo lo guarde.
Código Delphi [-]
ExcelApplication1.ActiveWorkbook.SaveAs(rutaArchivo,
                                        EmptyParam,
                                        EmptyParam,
                                        EmptyParam,
                                        EmptyParam,
                                        EmptyParam,
                                        xlnoChange,
                                        EmptyParam,
                                        EmptyParam,
                                        EmptyParam,
                                        EmptyParam,
                                        EmptyParam,
                                        LCID);
Alguien de ustedes conoce la sintaxis para lo que quiero hacer, si alguien sabe como hacerlo se los voy agradecer mucho.

Saludos...

Su amigo charless

ecfisa 22-08-2015 09:48:17

Hola Carlos.

¿ Que versiónes de Delphi y Excell estas usando ?

Saludos :)

ecfisa 22-08-2015 10:09:12

Hola de nuevo.

Aunque desconozco si trabajará para las versiones que manejas, creo que podrías intentarlo de este modo:
Código Delphi [-]
...
var
  ExcelApp : OleVariant;
begin
  ExcelApp := CreateOleObject('Excel.Application');
  try
    ExcelApp.DisplayAlerts := False;
    try
      // Acciones de guardado
      // ...
    finally
      ExcelApp.DisplayAlerts := True;
    end;
  finally
    ExcelApp.Quit;
    ExcelApp := UnAssigned;
  end;
end;

Saludos :)

nlsgarcia 22-08-2015 11:39:37

carlos gonzalez,

Cita:

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

:rolleyes:

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.


La franja horaria es GMT +2. Ahora son las 02:13:02.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi