AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Excel Sheets

Ein Thema von Sidi61 · begonnen am 29. Sep 2016 · letzter Beitrag vom 6. Okt 2016
Antwort Antwort
Seite 3 von 3     123   
Sidi61

Registriert seit: 13. Jun 2006
97 Beiträge
 
Delphi XE5 Professional
 
#21

AW: Excel Sheets

  Alt 5. Okt 2016, 16:02
Hallo Jumpy,

okay, dann sieht die Sache natürlich anders aus, habe nicht gewusst dass sich dadurch SaveAs bezüglich der Parameter ändert.
Ab Excel 7, in der Versionsangabe also 12.0 ändert sich das Dateiformat.

Hallo Chemiker,
ich habe deine Abfragen dann wohl falsch aufgenommen, habe deinen Code so interpretiert dass du jedes mal abfragst ob die Variable auch ein Objekt enthält mit dem gearbeite werden kann. Verstehe allerdings auch jetzt noch nicht wo genau geprüft wird ob es noch offene Instanzen gibt die geschlossen werden müssen. Bin einfach mal naiv davon ausgegangen, wenn ich weiß was ich geöffnet habe, weiß ich auch was ich schließen muss

Gruß
Sidi61
  Mit Zitat antworten Zitat
Sidi61

Registriert seit: 13. Jun 2006
97 Beiträge
 
Delphi XE5 Professional
 
#22

AW: Excel Sheets

  Alt 5. Okt 2016, 21:18
Hallo Jumpy,

nochmals Danke für deinen Tip, habe ich wie folgt umgesetzt:

Delphi-Quellcode:
unction TFormExcel.Excel_Arbeitsmappe_speichern(Z: string):boolean;
Var OK : boolean;
begin
  OK := true;
  if ExcelVersion >= 12 then //ab 12 Format xlsx
  begin
    try
      if uppercase(DS) = 'XLSXthen ExcelApp.ActiveWorkbook.saveas(Z+'.'+DS);
      //56 = altes Excel-Format benutzen
      if uppercase(DS) = 'XLS'  then ExcelApp.ActiveWorkbook.saveas(Z+'.'+DS,56);
    except
      showmessage('speichern von '+Z+'.'+DS+' ist fehlgeschlagen');
      ok := false;
    end;
  end else
  begin
    if uppercase(DS) = 'XLSXthen
    begin
      Showmessage('Das Dateiformat .xlsx wird von Ihrer Version nicht unterstützt, die Speicherung erfolgt im .xls Format');
      DS := 'xls';
    end;
    try
      ExcelApp.ActiveWorkbook.saveas(Z+'.'+DS);
    except
      showmessage('speichern von '+Z+'.'+DS+' ist fehlgeschlagen');
      ok := false;
    end;
  end;
  Result := OK;
end;
Funktioniert prächtig

Woher stammt die 56, konnte nirgends eine Doku dazu finden

Gruß
Sidi61
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#23

AW: Excel Sheets

  Alt 5. Okt 2016, 22:19
Dan schau mal hier herein:
https://msdn.microsoft.com/de-de/lib.../ff198017.aspx
https://msdn.microsoft.com/de-de/lib...ileformat.aspx

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker
Online

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#24

AW: Excel Sheets

  Alt 6. Okt 2016, 01:32
Hallo Sidi61,

man kann bei einem aktiven Workbook auch das entsprechende Fileformat herauslesen, das bedeutet, wenn man zum Beispiel ein altes Workbook (XLS-Format) in ein neues Excel öffnet, so kann man das Fileformt lesen und anschließend unter diesem alten Format wieder abspeichern.

Delphi-Quellcode:
aFileFormat := ExcelApp.ActiveWorkbook.Fileformat;
ExcelApp.ActiveWorkbook.SaveAs(Filename:=DateiName, FileFormat:=aFileFormat);

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 01:04 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