Liebe Community,
Ich habe folgendes Problem:
mit der Verwendung von Office 365 funktioniert mein Code nicht mehr. Mit Excel 2010 funktioniert alles einwandfrei.
Das Problem habe ich bereits identifiziert. Die Series mit den XValues und den Values ist leer bei Verwendung von Office365.
Delphi-Quellcode:
pts:= ser.Points(EmptyParam) as Points;
überwachungsvariable:=pts.Count; //= 0 Keine Werte in der Series
pt:= pts.Item(pts.Count); // Hier knallt es
Die Zuweisung der Werte geschieht in den Zeilen 550 – 575 bei den Funktionen ExcelRangetoString.
Delphi-Quellcode:
function TDoExportForm.ExcelRangeToString(worksheet_name: WideString;
rng: ExcelRange): WideString;
var
s: WideString;
begin
if worksheet_name <> '' then s:= QuotedStr(worksheet_name) + '!'
else s:= '';
Result:= '=' + s + rng.AddressLocal[false, false, xlA1, False, EmptyParam];
end;
function TDoExportForm.ExcelRangeToString(_ws: _Worksheet; cell1,
cell2: OleVariant): WideString;
begin
Result:= ExcelRangeToString(_ws.Name, _ws.Range[cell1, cell2]);
end;
Das Result ist im Screenshot dargestellt:
Hat sich etwas in Office365 geändert?
Weitere Zuweisungen habe ich in den Zeilen 1089 ff probiert:
Delphi-Quellcode:
ser.XValues:= '
="DATA1(IGV=0°)"!D3:D62"';
// OLE Fehler
ser.XValues:= '
="DATA1(IGV=0°)"!R[-3]C[-3]:R[-62]C[-3]"';
// OLE Fehler
ser.XValues:= '
="DATA1(IGV=0°)"!R3C3:R62C3"';
// OLE Fehler
ser.Values:=rng;
//Mitglied nicht gefunden
Keine Variante funktioniert. Die .tlb habe ich nicht verändert. Die komplette .pas ist im Anhang.
Hat jemand eine Idee??
Liebe Grüße und Danke
Tom