Zitat von
marabu:
Sind eigentlich beide vom Typ OleVariant, aber ein Unterschied ist da schon:
In Delphi5 stimmt das:
Delphi-Quellcode:
...
Range=interface (System.IDispatch)
['{00020846-0000-0000-C000-000000000046}']
public
...
property Value: System.OleVariant dispid $6;
property Value2: System.OleVariant dispid $56C;
...
end;
...
Aber in Delphi 7 gibt einen Syntaxfehler:
(FSheet.Range ist vom Typ ExcelRange)
Delphi-Quellcode:
...
FSheet.ConnectTo(FExcelWork.Sheets.Item[1] as ExcelWorksheet);
FSheet.Range['B1', 'B1'].Value := FCbKag.Text;
...
Fehlermeldung beim Kompilieren
[Fehler] FrmProdukt.pas(958): '[' erwartet, aber ':=' gefunden
(Ich weiß, ein Feld kann auch eleganter ohne Range zugewiesen werden, aber ich will den ursprünglichen Quelltext und damit das Verhalten so wenig wie möglich ändern. Das ist nicht von mir programmiert, ich muß nur portieren.)
Das Tooltip zeigt folgendes:
prop ExcelRange.Value: [RangeValueDataType: OleVariant]: OleVariant - ExcelXP.pas
Hmmm, da steht ExcelXP, die hat er automatisch eingebunden, weil in dem Delphi7 natürlich das OfficeXP
Package installiert ist.
Ich muß das mal Testen, evtl lasse ich dann das Ganze auf OfficeXP.
Ansonsten hast du Recht, habe nachgeschaut, das ist ein unterschied zw. Excel97.ExcelRange und ExcelXP.ExcelRange.
Danke noch mals
MabuSE