Entwickler-Ecke
Dateizugriff - Meldungen deaktivieren
delphijanka - Di 15.06.10 16:01
Titel: Meldungen deaktivieren
Hej.
Wenn ich mit Delphi eine bestimmte Excel-Datei öffne, um Daten zu lesen, erscheint eine Excel-Meldung, die beim Öffnen dieser Datei typischerweise immer erscheint (z.b. Frage nach Aktualisierung).
Somit wird die Datei nicht gelesen, solange ich den Button der erschienenen Meldung nicht betätige.
Wie kann ich solche Excel-Meldungen komplett "deaktivieren" (besser: ignorieren), sodass sie nicht beim Öffnen angezeigt werden?
Oder anders gefragt: wie kann ich automatisch den Button betätigen?
Danke.
ALF - Di 15.06.10 16:15
Mh.., fällt mir das ein.
Quelltext
1:
| Exel.EnableEvents := False |
ob richtig? :gruebel:
Gruss Alf
delphijanka - Mi 16.06.10 11:08
wenn ich also habe:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| ... var Appl: OLEVariant; begin Appl := CreateOleObject('Excel.Application'); Appl.Visible := false; Appl.WorkBooks.Open('Adresse der Excel-Datei'); ... |
so bringt
Delphi-Quelltext
1:
| Appl.EnableEvents := False |
rein gar nichts.
ALF - Mi 16.06.10 14:53
An welcher Stelle hast Du es den eingefügt!
richtig müsste es hier sein:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| ... var Appl: OLEVariant; begin Appl := CreateOleObject('Excel.Application'); Appl.EnableEvents := False: ...... ...... |
kann natürlich auch sein das dies nicht unter ein "Event" fällt.
ansonsten mal an der gleichen Stelle wie gezeigt, Appl.DisplayAlerts := False, setzen!
!! am Ende der Procedure natürlich auch wieder auf
True setzen!!
Gruss Alf
delphijanka - Mi 16.06.10 15:16
Danke Alf.
1) ALso ich habe zu Beginn beides auf false gesetzt. Einige Meldung werden nicht angezeigt, andere Meldungen erscheinen immer noch. Vlcht gibs bei Excel noch irgendeine Funktion zum Deaktivieren anderer Meldungen..
2) Warum eigentlich beide wieder auf true setzen? Die Datei wird nach dem Lesen eh wieder geschlossen.
Moderiert von
Narses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
ALF - Mi 16.06.10 15:51
delphijanka hat folgendes geschrieben : |
Vlcht gibs bei Excel noch irgendeine Funktion zum
Deaktivieren anderer Meldungen.. |
glaube für operationen zwischen den Mappen/Tabellen (copy/move Zellenberechnung usw.) gibt es noch extra Meldungen die man unterdrücken kann, aber welche....? Sorry :gruebel: muss ich passen.
delphijanka hat folgendes geschrieben : |
| 2) Warum eigentlich beide wieder auf true setzen? Die Datei wird nach dem Lesen eh wieder geschlossen. |
Genau deswegen, sollte vor dem weiter arbeiten alles wieder auf True sein. Man weiss ja nie was alles noch passiert!! Beim nächstenmal kommt dann die Frage
"ich erhalte keine Meldungen von Exel, Warum??" :wink:
Gruss Alf
Chemiker - Do 17.06.10 01:04
Hallo delphijanka,
Delphi-Quelltext
1:
| Appl.WorkBooks.Open('Adresse der Excel-Datei'); |
Hier sollte der komplette Path angegeben werden.
z.B. :
Delphi-Quelltext
1:
| Appl.WorkBooks.Open('c:\Users\User\Documents\Adresse der Excel-Datei'); |
Oder wo auch immer die Excel-Datei ist.
Bis bald Chemiker
ALF - Do 17.06.10 13:50
ALF hat folgendes geschrieben : |
| glaube für operationen zwischen den Mappen/Tabellen (copy/move Zellenberechnung usw.) gibt es noch extra Meldungen die man unterdrücken kann,... |
Fällt mir gerade ein, bei solchen Aufrufen kann man, wenn ich es noch richtig weiss, einen Parameter mit übergeben (True/False).
Der verhindert sogenannte Sicherheitsabfragen wie "wollen sie die Daten ändern" oder so ähnlich.
So das die Veränderung direkt, ohne Nachfrage, durchgeführt wird!
Diese Meldungen gelten aber nur für die Operationen und können
nicht dauerhaft deaktiviert werden!
Leider alles so lange her :(
Gruss Alf
Gerd Kayser - Do 17.06.10 16:29
delphijanka hat folgendes geschrieben : |
Hej.
Wie kann ich solche Excel-Meldungen komplett "deaktivieren" (besser: ignorieren), sodass sie nicht beim Öffnen angezeigt werden? |
Versuchs mal mit
Delphi-Quelltext
1:
| Appl.DisplayAlerts:= false; |
Teufelskreis - Mi 04.08.10 10:08
hmmm... also bei mir klappt es... :roll:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!