AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Herausfinden, welche Excelversion genutzt werden kann
Thema durchsuchen
Ansicht
Themen-Optionen

Herausfinden, welche Excelversion genutzt werden kann

Ein Thema von xZise · begonnen am 13. Aug 2009 · letzter Beitrag vom 17. Aug 2009
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

Herausfinden, welche Excelversion genutzt werden kann

  Alt 13. Aug 2009, 17:51
Hallo ihr,
ich benutze zum Einlesen von Daten die Möglichkeit Exceltabellen einzulesen. Nun haben wir es bisher mit MSO 2003 und 2007 getestet. Und wie kann ich jetzt abfragen, ob Excel installiert ist (also 2003 oder 2007)? Bisher habe ich folgenden Code gefunden:
Delphi-Quellcode:
function TDatenbank.ExcelInstalliert: Boolean;
var
  tmp : TGUID;
begin
  // Test auf MSO 2k3, vielleicht geht es nicht für MSO 2k7?
  Result := Succeeded(CLSIDFromProgID(PWideChar('Excel.Application.11'), tmp));
end;
Nun habe ich leider hier weder 2003 noch 2007 und diese Funktion liefert auch False. Aber wie müsste ich das erweitern? Ich tippe mal auf eine OR-Verknüpfung und einer 12 im zweiten Eintrag, statt der 11.

Achso möglichst so, dass ich auch überprüfen kann, um welche Version es sich handelt, sofern dies hier "stimmt".

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Herausfinden, welche Excelversion genutzt werden kann

  Alt 13. Aug 2009, 18:20
Excel 2007 müsste beide COM-Klassen anbieten
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Herausfinden, welche Excelversion genutzt werden kann

  Alt 13. Aug 2009, 18:24
Das heißt, mit MSO 2k7 würde das auch True zurückgeben? Kann ich dann herausfinden, ob ich OpenXML öffnen kann?

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Herausfinden, welche Excelversion genutzt werden kann

  Alt 13. Aug 2009, 18:28
Zitat:
Das heißt, mit MSO 2k7 würde das auch True zurückgeben?
Ja.
Zitat:
Kann ich dann herausfinden, ob ich OpenXML öffnen kann?
Es müsste möglich sein. Obwohl ich gelesen habe, das O2k7 anders wie die Vorgänger nicht 100%ig abwärtskompatibel sind. Aber ein simples Open sollte er eigentlich verstehen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Herausfinden, welche Excelversion genutzt werden kann

  Alt 13. Aug 2009, 18:34
Naja, bisher könnten wir die Daten erfolgreich auch mit MSO 2007 einlesen. Aber es war halt eine normale Tabelle. Und nun hatte ein Lehrer gefragt ob er auch das neue Format öffnet, und heute ist mir eingefallen, das er das sozusagen automatisch unterstützt. Ich müsste halt nur herausfinden, ob ich MSO 2k7 oder MSO 2k3 benutzen kann (zur Laufzeit) und dann entsprechend im Öffnen-Dialog auch xlsx anbieten.

Und genau den Schritt zum Herausfinden, ob auf dem Rechner auf MSO 2k7 zurückgegriffen werden kann fehlt mir.

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Herausfinden, welche Excelversion genutzt werden kann

  Alt 13. Aug 2009, 18:36
O2k7 bieten alle Klassen an O2k3, die von O2k7 nicht. Zudem gibt es ja auch ein Converter-Pack für ältere Office-Pakete, das diesen erlaubt OpenXML zu Laden.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Herausfinden, welche Excelversion genutzt werden kann

  Alt 13. Aug 2009, 18:44
Ich verstehe gerade nicht was du meinst

Ich dachte daran:
Delphi-Quellcode:
type
  TExcelVersion = (ev2003, ev2007, evNone);

function ExcelVersion : TExcelVersion;
begin
  Result := .... (hier bitte den Code :D )
end;

procedure DoSmth;
begin
  case ExcelVersion do
    ev2003 : OD.Filter := 'xls|*.xls';
    ev2007 : OD.Filter := 'xls(x)|*.xls;*.xlsx';
    else begin
      ShowMessage('Nix Excel');
      Exit;
    end;
  end;
  if OD.Execute do
    ...
end;
Weil konvertieren wollte ich die Datei nicht

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Herausfinden, welche Excelversion genutzt werden kann

  Alt 13. Aug 2009, 18:55
O2k3 implemnetiert Excel.Application.12 nicht.
Konvertiern meint in diesem Fall Laden
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Herausfinden, welche Excelversion genutzt werden kann

  Alt 13. Aug 2009, 19:04
Zitat von mkinzler:
O2k3 implemnetiert Excel.Application.12 nicht.
Achso Das "hätte" ich mir gedacht Ich habe mich aber halt gefragt ob MSO 2k7 dies implementiert

Zitat von mkinzler:
Konvertiern meint in diesem Fall Laden
Also ich hatte mal kurz gegooglet und ich hatte halt nur OOX <-> OD Konverter, aber halt dann nicht als Zwischenschicht, sondern als seperates Programm.

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Herausfinden, welche Excelversion genutzt werden kann

  Alt 13. Aug 2009, 19:06
Der Converterpack ist von MS und erweitert ältere Versionen um Import/Export-Filter für die OpenXML-Dateiversionen
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 16:52 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