Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-07-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por roman
Siento mucho haber tenido que editar este mensaje.

El presente hilo contenía mensajes que correspondían a una pregunta distinta de la original por lo que juzgué conveniente moverlos a un nuevo hilo pero la pregunta original había quedado en el nuevo hilo por lo cual decidí editar este mensaje para anexar la pregunta original de modo que no se pierda el contexto.

Disculpen las molestias
Cita:
Empezado por Ryar
Buenas, estoy pasando dantos desde delphi a excel, mediante ole con el siguiente codigo (Es un codigo de prueba):

Código Delphi [-]
uses
...ComObj, OleServer;

procedure TForm1.Button1Click(Sender: TObject);
var
  ExcelApp: OLEVariant;
  fichero: string;
begin
  ExcelApp := CreateOleObject('Excel.Application');
  try
    fichero:=ExtractFilePath(ParamStr(0))+'Plantilla.xls';
    ExcelApp.Workbooks.Open(fichero);
    ExcelApp.cells.item[7,'I']:=strtoint(Edit1.Text);
    ExcelApp.cells.item[8,'I']:=20;
    ExcelApp.Worksheets[1].PrintOut;
  finally
    if not VarIsEmpty(ExcelApp) then
    begin
    ExcelApp.Quit;
    ExcelApp := Unassigned;
    end;
  end;
end;

Me pasa los datos, me recalcula las celdas, me lo imprime y me lo cierra correctamente, pero.. me sale la ventana de "Desear guardar los cambios realizados en Plantilla.xls" del Excel, dandome als opciones de si, no y cancelar. Como hago para que acepte automaticamente la de "No", puesto que mi documento de excel es una plantilla para imprimir, y no quiero que se guarden nunca los datos.

Saludos, y muchas gracias
Prueba poniendo (antes del Quit):
Código Delphi [-]
  ExcelApp.DisplayAlerts := False;

Otra posibilidad es:
Código Delphi [-]
var:
  LCID:Integer;
begin
...
  LCID := GetUserDefaultLCID;
  ExcelApp.DisplayAlerts[LCID] := False;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por roman fecha: 28-07-2004 a las 19:21:36.
Responder Con Cita
  #2  
Antiguo 27-07-2004
RyAr RyAr is offline
Miembro
 
Registrado: oct 2003
Posts: 74
Poder: 21
RyAr Va por buen camino
Perfecto, poniendo el ExcelApp.DisplayAlerts := False; antes del quit me lo imprime, me cierra el fichero y no me lo guarda, así que genial!!!

Muchas gracias
Responder Con Cita
  #3  
Antiguo 28-07-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Puedes probar con algo del estilo a:
Código Delphi [-]
ExcelApp.ActivePrinter[0] := 'Canon Bubble-Jet BJC-4200 on LPT1:';

Otra opción es vía proipiedades:
Código Delphi [-]
ExcelApp.OlePropertySet('ActivePrinter', szPrinterName);

Otra cosa, ¿has probado a pasarle el valor de la impresora en la propia insrucción PrintOut? Uno de los parámetros es ActivePrinter.

expression.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 12-01-2006
VRO VRO is offline
Miembro
 
Registrado: abr 2004
Posts: 230
Poder: 21
VRO Va por buen camino
Wink Se puede hacer así también

Hola

Esta es otra solución, ya se que el hilo es del 2004 y nuestro compañero ya tendrá resuelto el problema, para futuros compañeros que tengan el mismo problema ahí va otra solución:

Código:
exc.ActiveWindow.Close(False,emptyParam,EmptyParam);
Exc.Quit;
siendo exc el OleVariant.

Gracias por ofrecernos este foro para poder solucionar e intentar ayudar en los posibles tropiezos que tenemos.
Responder Con Cita
  #5  
Antiguo 21-06-2006
crack_neon crack_neon is offline
Miembro
 
Registrado: abr 2006
Posts: 28
Poder: 0
crack_neon Va por buen camino
y al reves??

En mi caso necesito que si lo guarde, pero sin tener que ver el mensaje, ¿Cuales serian los parámetros?
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 20:45:43.


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
Copyright 1996-2007 Club Delphi