Einzelnen Beitrag anzeigen

Nekromus

Registriert seit: 21. Aug 2017
22 Beiträge
 
#1

Excel Series.Value Zuweisung funktioniert mit Office 365 nicht

  Alt 3. Jun 2019, 14:35
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
Miniaturansicht angehängter Grafiken
screenshotexcelrangetostring.jpg  
Angehängte Dateien
Dateityp: pas frmDoExport.pas (52,4 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat