Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Excel-Dokument ohne Nachfrage speichern (https://www.delphipraxis.net/112043-excel-dokument-ohne-nachfrage-speichern.html)

Grolle 14. Apr 2008 11:43


Excel-Dokument ohne Nachfrage speichern
 
Hallo,

ich bearbeite eine csv-Datei mit folgendem Code:
Delphi-Quellcode:
      try
        Excel := GetActiveOleObject('Excel.Application');
        shutdown := false;
      except
        Excel := CreateOleObject('Excel.Application');
      end;
        tmp := ChangeFileExt(ExtractFileName(openDialog.Filename),'');
        Excel.Visible := True;
        Excel.Workbooks.Open(opendialog.FileName);
        Excel.Worksheets[tmp].Cells.Select;
        Excel.Selection.NumberFormat := '@';
        Excel.ActiveWorkBook.Save;
        Excel.ActiveWorkBook.Close;
        if shutdown then Excel.Quit;
Leider fragt Excel beim schließen immer, ob die Änderungen an der Datei
gespeichert werden sollen. Kann ich das irgendwie unterdrücken?

Viele Grüße ....

soulies 14. Apr 2008 12:08

Re: Excel-Dokument ohne Nachfrage speichern
 
hoi,

ich meine mich daran erinnern zu können das dieser dialog
nicht mehr erscheint wenn du beim speichern einen Filenamen mit angibts.

ungefähr so:
Delphi-Quellcode:
    //Excel.ActiveWorkBook.Save;
    Excel.ActiveWorkBook.SaveAs(Filename) ;

cya

Grolle 14. Apr 2008 12:18

Re: Excel-Dokument ohne Nachfrage speichern
 
Hi,

das wars leider nicht. Jetzt kommt noch eine zusätzliche Nachfrage,
ob die existierende Datei ersetzt werden soll.

Viele Grüße ....

//Edit: Leider schmeißt mir der Macro-Recorder auch nicht viel mehr raus

Bernhard Geyer 14. Apr 2008 12:24

Re: Excel-Dokument ohne Nachfrage speichern
 
Zitat:

Zitat von Grolle
das wars leider nicht. Jetzt kommt noch eine zusätzliche Nachfrage,
ob die existierende Datei ersetzt werden soll.

Dann lösch halt diese Datei zuvor (Evtl. umbenennen nach Backup-Datei).

Bbommel 14. Apr 2008 12:31

Re: Excel-Dokument ohne Nachfrage speichern
 
Zitat:

Zitat von Grolle
Leider fragt Excel beim schließen immer, ob die Änderungen an der Datei
gespeichert werden sollen. Kann ich das irgendwie unterdrücken?

Jepp, kannst du. Eigentlich müsste dir ein

Delphi-Quellcode:
        Excel.ActiveWorkBook.Close(false);
weiterhelfen.

Der Parameter für "Close" ist vom Typ "Boolean" und nennt sich "SaveChanges". Ich habs damit wegbekommen.

Gruß
Bommel

Reinhardtinho 14. Apr 2008 12:37

Re: Excel-Dokument ohne Nachfrage speichern
 
Hi,

um alle Meldungen zu unterdrücken, gibts auch folgenden Schalter:
Delphi-Quellcode:
Excel.DisplayAlerts[LCID] := False;

MFG
Lorenz

Grolle 14. Apr 2008 12:40

Re: Excel-Dokument ohne Nachfrage speichern
 
Zitat:

Zitat von Bbommel

Jepp, kannst du. Eigentlich müsste dir ein

Delphi-Quellcode:
        Excel.ActiveWorkBook.Close(false);
weiterhelfen.

That's it! Danke für eure Hilfe :thumb:

drschubi 30. Apr 2008 07:30

Re: Excel-Dokument ohne Nachfrage speichern
 
Hallo Bbommel,

also ich bekomme eine Zugriffsverletzung, wenn ich
Delphi-Quellcode:
Excel.ActiveWorkBook.Close(false);
direkt benutze.

Muss ich noch etwas beachten? Habe Office 2000 und Delphi 6

Vielen Dank

René

Chemiker 1. Mai 2008 09:46

Re: Excel-Dokument ohne Nachfrage speichern
 
Hallo drschubi,

um Dir weiterhelfen zu können müsste man schon etwas mehr Code haben.

Vielleicht hilft Dir dieser Beitrag weiter

Excel schliessen


Bis bald Chemiker

drschubi 8. Mai 2008 08:48

Re: Excel-Dokument ohne Nachfrage speichern
 
Hallo Chemiker,

vielen Dank für den Link.
Delphi-Quellcode:
Excel.DisplayAlerts := False;
hat geholfen.

Viele Grüße René


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