![]() |
Excel OLE, Version 2007 erkennen
Hallo #,
folgender Code soll erkennen, ob es sch beim aktuellen Excel um 2007 oder kleiner handelt. Das StringGrid wird bei <2007 auf die maximal erlaubten 256 Spalten "reduziert". Problem ... es klappt nicht ! ;( sVersion:= XLApp.Version; sVersion ist '9.0' (Excel 2000) TryStrToFloat(sVersion, dVersion) schläft fehl ??? dVersion:= XLApp.Version; dVersion liefert 90 (statt 9.0). Was mache ich falsch ? Gibt es vielleicht einen Befehl (MaxColumnCount) oder so, damit ich mir das ganze Gewurschtel hier sparen kann ? Danke Heiko
Delphi-Quellcode:
var
XLApp : OLEVariant; sVersion : OleVariant; dVersion : Double; begin Result:= False; try // Create Excel-OLE Object Result := False; XLApp := CreateOleObject('Excel.Application'); try { until Excel2007 (version 12) we have maximal 256 columns } if AGrid.ColCount>256 then begin iMaxCols:= 256; end else begin iMaxCols:= AGrid.ColCount; end; try sVersion:= XLApp.Version; dVersion:= sVersion; if TryStrToFloat(sVersion, dVersion) then begin if dVersion>=12 then begin iMaxCols:= AGrid.ColCount; end; end; except end; |
Re: Excel OLE, Version 2007 erkennen
Probier mal
Delphi-Quellcode:
So klappts bei mir. Liefert nur die Hauptversionsnummer, aber das reicht doch für die Versionsfeststellung.
function GetVersion : integer;
var Version : string; MSExcel : Variant; begin MSExcel := CreateOleObject('Excel.application'); Version := MSExcel.Version; SetLength(Version, 2); result := StrToInt(trimchar(Version,'.')); end; |
Re: Excel OLE, Version 2007 erkennen
Hallo,
ich Dussel. Die ganze Zeit fummel ich mit Punkt und Komma rum. Lösung
Delphi-Quellcode:
sVersion2: String
try sVersion:= XLApp.Version; sVersion2:= sVersion; sVersion2:= StringReplace(sVersion2, '.', ',', [rfReplaceAll]); if TryStrToFloat(sVersion2, dVersion) then begin if dVersion>=12 then begin iMaxCols:= AGrid.ColCount; end; end; except end; Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 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 by Thomas Breitkreuz