Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Excel undo mit OLE (https://www.delphipraxis.net/211670-excel-undo-mit-ole.html)

SearchBot 20. Okt 2022 13:59

Excel undo mit OLE
 
Ich bearbeite mit meinem Delphi-Programm eine Exceltabelle, also durch OLE.

Klappt alles ganz schön.
Wenn ich manuell etwas ändere, kann ich es mit Strg+Z rückgängig machen.

Wenn ich aber die Tabelle direkt steuere (zB Spalten entferne oder Text einfüge), habe ich keinen Bearbeitungsverlauf und die Änderungen sind unwiderruflich - ich muss es dann selbst wieder zurück basteln...

:?: Wie kann ich es einstellen, daß Excel es auch durch OLE rückgängig machen lässt?

Beim Öffnen des Workbooks gibt es den Parameter Editable, aber er ändert nichts an dem Verhalten.

himitsu 20. Okt 2022 17:09

AW: Excel undo mit OLE
 
Vielleicht mal nach KeepChangeHistory schauen
oder ob du sonastwas bezüglich Undo/Redo in der API findest.

Viele API führen keine History, wenn programmseitig etwas gemacht wird. (nicht von Menschenhand)
Da muß man dann entweder selbst die History für Undo hinzufügen (AddHistory ... aber in der Unit Excel2010 gibt es das nur für Hyperlinks)
oder beim Bearbeiten irgendwie angeben, das die History nicht gelöscht wird (z.B. KeepChangeHistory)
oder ...

BigAl 21. Okt 2022 13:46

AW: Excel undo mit OLE
 
Evtl. hier:

https://learn.microsoft.com/de-de/of...plication.undo

Ich nutze auch Excel via OLE, verzichte aber auf die importierte type library. Das Problem dabei ist, dass diese elend langsam ist. Der Nachteil ist halt, dass man sich mehr auf den Hilfeseiten (s.o.) schlau machen muss und alles nur zur Laufzeit testen kann...

himitsu 21. Okt 2022 14:38

AW: Excel undo mit OLE
 
Damit kann er selbst im Programm ein Undo aulösen.

Er will aber Änderungen via Code vornehmen und dann soll es möglich sein, dass er User ein Undo machen kann.

SearchBot 24. Okt 2022 09:54

AW: Excel undo mit OLE
 
Dankeschön,

muss ich wohl selbst protokollieren, was ich ändere, wenn ich es rückgängig machen können will, bzw. dann darf halt kein Fehler passieren :roll:

Also zB die Spalte/Bereich/Zelle vor dem Ändern oder Löschen kopieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:54 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