AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Obwohl ExcelApp.Quit wird aber nicht beendet
Thema durchsuchen
Ansicht
Themen-Optionen

Obwohl ExcelApp.Quit wird aber nicht beendet

Ein Thema von t0mmy · begonnen am 2. Jul 2012 · letzter Beitrag vom 10. Jan 2019
Antwort Antwort
FediDelPr

Registriert seit: 16. Feb 2018
115 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

AW: Obwohl ExcelApp.Quit wird aber nicht beendet

  Alt 8. Jan 2019, 03:12
Ich habe das selbe Problem. Das geöffnete und wieder geschlossene File bleibt gelockt bis
das Applikationsprogramm beendet ist. Zu diesem Zeitpunkt verschwindet der EXCEL-Eintrag auch
aus der Liste der Hintergrund-Programme im Windows Task-Manager.

Ich führe folgenden Code aus:

Delphi-Quellcode:
Excel.WorkBooks.Close;
Excel.Quit;
Excel := unassigned; (* bringt nichts *)
Ich verwende EXCEL 365 aktuelle Version.
  Mit Zitat antworten Zitat
kompi

Registriert seit: 27. Apr 2012
Ort: Duisburg
58 Beiträge
 
Delphi 12 Athens
 
#2

AW: Obwohl ExcelApp.Quit wird aber nicht beendet

  Alt 8. Jan 2019, 08:14
Versuche es mal mit

ExcelApp.application.quit

Dann sollte es funktionieren. Ist jedenfalls bei mir mit Excel 2010 so.

Gruß Kompi
Detlef Schmitz
  Mit Zitat antworten Zitat
FediDelPr

Registriert seit: 16. Feb 2018
115 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: Obwohl ExcelApp.Quit wird aber nicht beendet

  Alt 8. Jan 2019, 14:30
Geht bei mir leider auch nicht.

Ich probiere mal weitere Varianten.
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: Obwohl ExcelApp.Quit wird aber nicht beendet

  Alt 8. Jan 2019, 15:12
@FediDelPr: Kannst du mal deinen Code zeigen den du jetzt hast (den Part mit Excel)?
Ralph
  Mit Zitat antworten Zitat
kompi

Registriert seit: 27. Apr 2012
Ort: Duisburg
58 Beiträge
 
Delphi 12 Athens
 
#5

AW: Obwohl ExcelApp.Quit wird aber nicht beendet

  Alt 8. Jan 2019, 15:35
Bei dir muss es natürlich heißen:

Excel.application.quit

Es muss jedoch vorher sicher gestellt sein, dass alle Workbooks geschlossen sind. Beim Schließen der Workbooks kann es jedoch passieren, dass Excel fragt, da das Workbook geändert wurde, ob man speichern möchte. Dies sieht man jedoch nicht, wenn Excel auf nicht sichtbar eingestellt ist. Wenn die Datei bereits vorhanden ist, so fragt Excel auch hier, ob die Datei überschrieben werden soll.

Um zu sehen, was passiert, würde ich Excel zunächst auf sichtbar schalten und Displayalerts auf true.

Gruß Kompi
Detlef Schmitz
  Mit Zitat antworten Zitat
FediDelPr

Registriert seit: 16. Feb 2018
115 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: Obwohl ExcelApp.Quit wird aber nicht beendet

  Alt 8. Jan 2019, 19:01
Ich habe EXCEL nun sichtbar geschaltet.

Die Zellen werden richtig ausgelesen (kein Schreiben).
EXCEL wird aus meiner Sicht zwar geschlossen (ohne Frage ob gespeichert werden soll, es wurde auch nichts geändert)verbleibt aber in den Hintergrundprozessen, wie der Taskmanager
zeigt.
Das zuvor geöffnete File bleibt für erneutes Oeffnen blockiert.

Delphi-Quellcode:
VAR
  Excel : Variant;
  s: STRING;
BEGIN
  ...

  Excel := CreateOleObject('Excel.Application');
  Excel.visible := TRUE; (* vorher FALSE *)
  Excel.WorkBooks.Open('c:\users\....\TestKreditorenRechnungen.xlsx');

   ...

  (* Es werden nur Daten gelesen *)
  s := Excel.Sheets['Tabelle1'].Cells[row,column].Value;

   ...

  Excel.WorkBooks.Close;

  Excel.DisplayAlerts := False; (* Discard unsaved files.... *)
  Excel.Quit; (* alternativ *) Excel.Application.Quit;
  Excel := unassigned; (* auch probiert *)
  Mit Zitat antworten Zitat
FediDelPr

Registriert seit: 16. Feb 2018
115 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: Obwohl ExcelApp.Quit wird aber nicht beendet

  Alt 8. Jan 2019, 19:42
Wenn ich obigen Code ausführe, mit nur einmaligem Lesen, scheint's zu
funktionieren.

In der Applikation lese ich testweise 1000 Zeilen (fast alle leer).
Evtl. hat's damit zu tun. Gibt es eine Art 'end of table' ?
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:15 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