AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Excel per OLE speichern, wenn im Editiermodus

Excel per OLE speichern, wenn im Editiermodus

Ein Thema von DevidEspenschied · begonnen am 4. Aug 2022 · letzter Beitrag vom 5. Aug 2022
Antwort Antwort
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Excel per OLE speichern, wenn im Editiermodus

  Alt 4. Aug 2022, 15:28
Excel.Application.Interactive kann man nutzen um eine vorige Überprüfung durchzuführen.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
mmw
(Gast)

n/a Beiträge
 
#2

AW: Excel per OLE speichern, wenn im Editiermodus

  Alt 4. Aug 2022, 15:33
Hallo,

application.sendkeys

https://docs.microsoft.com/de-de/off...ation.sendkeys

https://stackoverflow.com/questions/...cell-edit-mode

vielleicht hilft's.

Gruß
  Mit Zitat antworten Zitat
DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
444 Beiträge
 
Delphi 12 Athens
 
#3

AW: Excel per OLE speichern, wenn im Editiermodus

  Alt 4. Aug 2022, 21:04
Danke für die Antworten.

Ich bin vorhin über eine zusätzliche Eigenschaft gestolpert, die ich auf False setzen könnte:

Application.EditDirectlyInCell

https://docs.microsoft.com/de-de/off...directlyincell

Wenn ich gerade im Editiermodus bin und Text in eine Zelle eingebe, könnte das die Lösung sein, ich werd’s morgen probieren
Devid
Devid Espenschied
Pre-Sales Consultant
Embarcadero Germany GmbH
germany.info@embarcadero.com

Kein Support per PN
  Mit Zitat antworten Zitat
DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
444 Beiträge
 
Delphi 12 Athens
 
#4

AW: Excel per OLE speichern, wenn im Editiermodus

  Alt 5. Aug 2022, 09:01
Okay Excel.Application.Interactive und Excel.Application.EditDirectlyInCell erzeugen beide jeweils eine Exception, wenn ich mich zum Zeitpunkt der Abfrage im Editiermodus befinde.

Selbst wenn ich die entstehende Exception als Zeichen für den Editiermodus deute, und entsprechend handhaben möchte, kann ich Excel nicht beenden, weil Excel.Quit ebenfalls eine Exception erzeugt.

Seltsam alles, offenbar scheint es keine verlässliche Möglichkeit zu geben, den Editiermodus zu erkennen, diesen zu beenden, oder Excel zu beenden - wenn sich Excel zum Zeitpunkt der Abfrage bereits im Editiermodus befindet.
Devid
Devid Espenschied
Pre-Sales Consultant
Embarcadero Germany GmbH
germany.info@embarcadero.com

Kein Support per PN
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Excel per OLE speichern, wenn im Editiermodus

  Alt 5. Aug 2022, 09:10
Aber ein CoInitialize(nil); und CoUninitialize; hast Du schon irgendwo vorher/nachher aufgerufen?
Gruß vom KodeZwerg

Geändert von KodeZwerg ( 5. Aug 2022 um 09:25 Uhr)
  Mit Zitat antworten Zitat
DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
444 Beiträge
 
Delphi 12 Athens
 
#6

AW: Excel per OLE speichern, wenn im Editiermodus

  Alt 5. Aug 2022, 09:41
Die basieren ja auf dem COM Modell - so wie ich das verstanden habe, ist OLE etwas anderes.

Ich habe auch per:

Application.SendKeys('{Enter}'); versucht den Editiermodus per Tastendruck zu beenden, aber es ändert nichts. Laut mehreren Quellen erlaubt Excel explizit nach außen hin nicht die Erkennung/Steuerung dieses Editiermodus. Ich habe mich mit der Exception beholfen, die bei Application.Ready auftritt, und deute das als Editiermodus, bei dem der Nutzer manuell den Modus verlassen muss. Nicht optimal, aber relativ zuverlässig.
Devid
Devid Espenschied
Pre-Sales Consultant
Embarcadero Germany GmbH
germany.info@embarcadero.com

Kein Support per PN
  Mit Zitat antworten Zitat
shebang

Registriert seit: 7. Feb 2020
151 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Excel per OLE speichern, wenn im Editiermodus

  Alt 5. Aug 2022, 09:50
Die basieren ja auf dem COM Modell - so wie ich das verstanden habe, ist OLE etwas anderes.
Dann ist vielleicht OleInitialize das richtige, wobei das intern auch CoInitialize aufruft.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz