Ir al contenido


Foto

Abrir Archivos Excel ó Word y guardar los cambios realizados


  • Por favor identifícate para responder
8 respuestas en este tema

#1 Fleon

Fleon

    Advanced Member

  • Miembros
  • PipPipPip
  • 172 mensajes
  • LocationRepública Dominicana

Escrito 05 julio 2017 - 01:49

Saludos a todos, sé que se puede abrir un documento word ó excel  a través de un olecontainer ó los servers, mi duda es, si hay forma de guardar en una BD la fecha y hora de modificación de esos documentos luego de que el usuario le haya dado a guardar en Excel O Word, ¿Es posible?, eso es para fines de crear un historial de modificaciones en un sistema de control de documentación que se está realizando en delphi.

 

Fleon xDD


  • 0

#2 giulichajari

giulichajari

    Advanced Member

  • Miembros
  • PipPipPip
  • 477 mensajes

Escrito 06 julio 2017 - 09:01

Y porque no lo guardas tu mismo despues de generado? O el usuario debe hacerle cambios?

 

Existe el evento beforeSave, puedes probar con la rutina sql que guarda la fecha y nombre del documento dentro de este evento.

 

https://msdn.microso...e/ff840057.aspx


  • 0

#3 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 06 julio 2017 - 09:17

Saludos a todos, sé que se puede abrir un documento word ó excel  a través de un olecontainer ó los servers, mi duda es, si hay forma de guardar en una BD la fecha y hora de modificación de esos documentos luego de que el usuario le haya dado a guardar en Excel O Word, ¿Es posible?, eso es para fines de crear un historial de modificaciones en un sistema de control de documentación que se está realizando en delphi.
 
Fleon xDD

 
Hola
 
Se puede obtener la fecha de creación o la fecha de última modificación usando la función BuiltinDocumentProperties.
 

delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3. Excel: Variant;
  4. Archivo,
  5. Fecha: String;
  6. begin
  7. if not OpenDialog1.Execute then exit;
  8. Archivo := OpenDialog1.FileName;
  9. Excel := CreateOleObject('Excel.Application');
  10. Excel.Workbooks.Open(Archivo);
  11. //Debe de estar abierto el archivo para poder obtener la información
  12. Fecha := Excel.ActiveWorkbook.BuiltinDocumentProperties.Item['Last Save Time']; //'Creation Date', 'Last Save Time'
  13. ShowMessage( Fecha );
  14. Excel.Workbooks.Close;
  15. end;

A ver si te da una idea.
 
Saludos
  • 0

#4 Fleon

Fleon

    Advanced Member

  • Miembros
  • PipPipPip
  • 172 mensajes
  • LocationRepública Dominicana

Escrito 06 julio 2017 - 02:47

Gracias amigos, haré las pruebas pertinentes, antes de alocarme, se puede guardar esos archivos en base de datos, abrir desde ella hacer, editarlo y guardar los cambios desde office directamente a la bd?, o es mejor tenerlo fisicamente?

 

Fleon xDD


  • 0

#5 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 06 julio 2017 - 03:07

Gracias amigos, haré las pruebas pertinentes, antes de alocarme, se puede guardar esos archivos en base de datos, abrir desde ella hacer, editarlo y guardar los cambios desde office directamente a la bd?, o es mejor tenerlo fisicamente?

 

Fleon xDD

 

No sé cual sea tu proceso, pero eso ya lo tienes y puede guardarse donde quieras.

 

Saludos


  • 0

#6 Fleon

Fleon

    Advanced Member

  • Miembros
  • PipPipPip
  • 172 mensajes
  • LocationRepública Dominicana

Escrito 06 julio 2017 - 04:26

Gracias Egostar, pero sácame una duda si un archivo .xlsx es abierto desde un campo blob y hacen cambios y al guardar esos cambios se reflejan automaticamente en ese campo blob ó debo crear algún procedimiento que lo haga?.

 

Fleon xDD


  • 0

#7 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 06 julio 2017 - 04:38

Gracias Egostar, pero sácame una duda si un archivo .xlsx es abierto desde un campo blob y hacen cambios y al guardar esos cambios se reflejan automaticamente en ese campo blob ó debo crear algún procedimiento que lo haga?.

 

Fleon xDD

 

 

No puedo asegurarlo, porque no se como abriste el archivo, pero para poder obtener esa información a través de la función que mencioné debes tener abierto el archivo con CreateOleObject() o con la unidad Excel2000 si la tienes.

 

Saludos


  • 0

#8 Nikolas

Nikolas

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 604 mensajes
  • LocationMar del Plata / Bs As / Argentina

Escrito 01 marzo 2020 - 08:58

 
Hola
 
Se puede obtener la fecha de creación o la fecha de última modificación usando la función BuiltinDocumentProperties.
 


delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3. Excel: Variant;
  4. Archivo,
  5. Fecha: String;
  6. begin
  7. if not OpenDialog1.Execute then exit;
  8. Archivo := OpenDialog1.FileName;
  9. Excel := CreateOleObject('Excel.Application');
  10. Excel.Workbooks.Open(Archivo);
  11. //Debe de estar abierto el archivo para poder obtener la información
  12. Fecha := Excel.ActiveWorkbook.BuiltinDocumentProperties.Item['Last Save Time']; //'Creation Date', 'Last Save Time'
  13. ShowMessage( Fecha );
  14. Excel.Workbooks.Close;
  15. end;

A ver si te da una idea.
 
Saludos

 

Me sirvió este info, gracias!


  • 1

#9 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 02 marzo 2020 - 09:43

Vaya después de 2 años y medio ha servido de algo :), un gusto leerte amigo Nikolas (y)

 

Saludos


  • 0




IP.Board spam blocked by CleanTalk.