Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Excelautomation und Speichern (https://www.delphipraxis.net/54207-excelautomation-und-speichern.html)

Jens Schumann 29. Sep 2005 17:31


Excelautomation und Speichern
 
Hallo,
wie kann meine Anwendung auf das Klicken auf den Speichern Button und die
Excelmenüpunkte Speichern / Speichern unter reagieren ?

shmia 29. Sep 2005 17:44

Re: Excelautomation und Speichern
 
Das Application Objekt von Excel (2000)feuert dann das Event
Code:
WorkbookBeforeSave(
                [in] Workbook* Wb,
                [in] VARIANT_BOOL SaveAsUI,
                [in, out] VARIANT_BOOL* Cancel);
ab.
Diese COM-Event musst du auffangen (was leider nicht die Stärke von Delphi ist).

Jens Schumann 29. Sep 2005 17:46

Re: Excelautomation und Speichern
 
Hallo,
Problem hat sich erledigt. Benötige die Funktion nicht mehr.

Ich führe eine interne Liste mit geöffneten Arbeitsmappen.
Das kann eine Untermenge aller geöffneter Arbeitsmappen sein.
Um die Arbeitsmappen wieder zu finden habe ich in der Liste
die Namen der Arbeitsmappen gespeichert. D.h. ich konnte die
Arbeitsmappen nur über deren Namen in der Liste finden.
Wenn die Arbeitsmappe gespeichert wird ist die Verknüpfung
mit dem Namen pfutsch.

Jetzt nehme ich als Verküpfung das Interface. D.h. in der
List wird das jeweilge Interface zur Arbeitsmappe gespeichert.
Dann ist der Name egal.

Jens Schumann 29. Sep 2005 17:55

Re: Excelautomation und Speichern
 
Zitat:

Zitat von shmia
Das Application Objekt von Excel (2000)feuert dann das Event
Code:
WorkbookBeforeSave(
                [in] Workbook* Wb,
                [in] VARIANT_BOOL SaveAsUI,
                [in, out] VARIANT_BOOL* Cancel);
ab.
Diese COM-Event musst du auffangen (was leider nicht die Stärke von Delphi ist).

Hallo shmia,
Danke.
Das WorkbookBeforeSave Event habe ich natürlich schon probiert. Wenn Du oben meine
Beschreibung liest wirst Du merken warum das WorkbookBeforeSave nicht hinhaut.
Innerhalb des WorkbookBeforeSave Events ist nur der alte Arbeitsmappenname verfügbar.
Aber nicht der Arbeitsmappenname unter dem die Arbeitsmappe gespeichert wird.

Zitat:

Zitat von shmia
Diese COM-Event musst du auffangen (was leider nicht die Stärke von Delphi ist).

In der aller größten Not gibt es immer moch das Tool von Bin Ly. Da Delphi ab Version 5 beim Import die Events automatisch erzeugt habe ich das Tool lange nicht mehr verwendet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz