Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Excel Series.Value Zuweisung funktioniert mit Office 365 nicht (https://www.delphipraxis.net/200872-excel-series-value-zuweisung-funktioniert-mit-office-365-nicht.html)

EWeiss 12. Jun 2019 09:58

AW: Excel Series.Value Zuweisung funktioniert mit Office 365 nicht
 
Zitat:

Zitat von Nekromus (Beitrag 1434419)
Access ist bei meinem Office 365 dabei.

2010? Nun gut wenn dem so ist.

gruss

Delphi.Narium 12. Jun 2019 10:13

AW: Excel Series.Value Zuweisung funktioniert mit Office 365 nicht
 
Office 2010 ist aber nicht Office 365.

Genausowenig wie Packages für Office 97 mit Office 2000 liefen oder Office 2000 Packages mit Office 2003 oder ... durch die gesamte Versionshistorie ...

Such Dir mal in deinem Delphi die Funktion "Typbibliothek importieren".

Da solltest Du eine Liste von importierbaren Typbibiotheken finden. Ist da was für Office 365 bei? Dann importiere die bitte. In der Regel sollten dann in der Komponentenpalette unter ActiveX entsprechende Komponenten erscheinen.

Ist da nix bei, dann wähle bitte die Hinzufügenoption. Gehe in das Installationsverzeichnis von Office 365 und suche dort nach Dateien mit der Endung .olb ggfls. auch .tlb. Ist da was zu finden, dann importiere die bitte. Auch hier sollte dann unter ActiveX was in der Komponentenpalette zu finden sein.

Wie es bei aktuellen Delphis genau aussieht, weiß ich nicht, dass musst Du selbst herausfinden.

Sinngemäß müsste es in etwa so laufen: http://docwiki.embarcadero.com/RADSt...ry_Information

Suchmaschine bemühen: Bei Google suchendelphi import typelib office 365

Eventuell hilft das ja irgendwie weiter.

EWeiss 12. Jun 2019 10:21

AW: Excel Series.Value Zuweisung funktioniert mit Office 365 nicht
 
Eventuell reichen die Laufzeitbibliotheken für Access 2010 dafür schon aus.
https://www.microsoft.com/de-de/down....aspx?id=10910

gruss

Nekromus 12. Jun 2019 13:06

AW: Excel Series.Value Zuweisung funktioniert mit Office 365 nicht
 
Liste der Anhänge anzeigen (Anzahl: 3)
Lieben Dank für die Antworten.

Die Typbibliotheken habe ich schon. (siehe Screenshot RegTypbliotheken).

Die Packages konnte ich auch installieren (siehe Screenshots Komponenten installiert, installierte Packages).

Trotzdem habe ich keinerlei Office Komponenten in der Tool-Palette ....wie z.b TExelchart.

Delphi.Narium 12. Jun 2019 13:19

AW: Excel Series.Value Zuweisung funktioniert mit Office 365 nicht
 
Zitat:

Zitat von Nekromus (Beitrag 1433734)
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

Die drei OLE-Fehler sehen mir nach Syntaxfehlern aus. Kenne keine Excelvariante, die mit 'ner ungeraden Anzahl von ' oder " auskommt.

https://www.delphipraxis.net/110582-...-erzeugen.html

p80286 12. Jun 2019 13:27

AW: Excel Series.Value Zuweisung funktioniert mit Office 365 nicht
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1434440)
Die drei OLE-Fehler sehen mir nach Syntaxfehlern aus. Kenne keine Excelvariante, die mit 'ner ungeraden Anzahl von ' oder " auskommt.

https://www.delphipraxis.net/110582-...-erzeugen.html

Das hatten wir schon in #12/#13, angeblich ist es das nicht(?)

Gruß
K-H

Delphi.Narium 12. Jun 2019 13:43

AW: Excel Series.Value Zuweisung funktioniert mit Office 365 nicht
 
Es ist aber trotzdem falsch.

Bzw. wenn ein OLE-Fehler bleibt, heißt das nicht, dass die ungerade Anzahl von " egal ist oder nicht, sondern nur das es nach der Korrektur eine Fehlerursache weniger gibt, ansonsten aber noch mehr falsch sein dürfte.

Die vollständige Fehlermeldung wäre eventuell auch mal hilfreich. Bei OLE-Fehlern bekommt man oft noch 'ne hexadezmale Zeichenfolge geliefert, die bei der Annäherung an die Fehlerursache durchaus hilfreich sein kann.

Wenn man in Excel in 'ner Zelle sowas sieht 0° heißt das noch lange nicht, dass man es auch so per String an Excel übergeben kann. Eventuell muss da nur 'ne 0 übergeben werden, die Anzeige von 0° macht Excel dann, abhängig von der Formatierung der Zelle, selbst.

Da https://www.delphipraxis.net/200946-...ausrechen.html hatten wir ja auch gerade eine Frage bezüglich dessen, was man in Excel sieht und dessen, was man ausliest.

Nekromus 12. Jun 2019 13:58

AW: Excel Series.Value Zuweisung funktioniert mit Office 365 nicht
 
Delphi-Quellcode:
unit TestSpäteBindung;

interface

uses Variants, ComObj,Excel2010,Dialogs,Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms;

procedure ExcelFuellen;

implementation

procedure ExcelFuellen;
var
  Excel : Variant;
  row, column,I: Integer;
  WBk, WS, SheetName: OleVariant;
  Diagramm1: OleVariant;
  serie : OleVariant;
begin
    try
      Excel := GetActiveOleObject('Excel.Application');
    except
      Excel := CreateOleObject('Excel.Application');
    end;

  excel.Application.SheetsInNewWorkBook := 8; //Die 8 is die Anzahl der Sheets
  Excel.Workbooks.Add;

  Excel.Sheets[1].Name := 'DP Sheet'; //Hierbei ist 1 das erste Sheet 2 das zweite usw.
  //von nun an können wir unser Sheet auch über den gegebenen Namen ansprechen! zB:
  Excel.Sheets['DP Sheet'];

  row := 1;
  column := 2;
  Excel.Sheets['DP Sheet'].Cells[row,column].Value := 'Hallo';
  Excel.Sheets['DP Sheet'].Cells[1,3].value := 5.23; //Da Value vom Typ Variant is können wir hier fast alles reinschreiben

  for I := 1 to 20 do begin
   Excel.Sheets['DP Sheet'].Cells[I,3].value := I;
  end;

  for I := 1 to 20 do begin
   Excel.Sheets['DP Sheet'].Cells[I,4].value := I+30;
  end;

  for I := 1 to 20 do begin
   Excel.Sheets['DP Sheet'].Cells[I,5].value := I+50;
  end;

  for I := 1 to 20 do begin
   Excel.Sheets['DP Sheet'].Cells[I,6].value := I+80;
  end;

  Excel.Range['A1:B4'].Select; //Den Bereich A1 bis B4 makieren
  Excel.Selection.Font.Bold := true;//und im Makierten Bereich die Schriftdicke ändern

  Excel.Cells[row,column].select;
  Excel.ActiveCell.FormulaR1C1 := '=R2C1+R3C1'; // Rechnet A2 + A3

  //Excel.Sheets['DP Sheet'].Range['A5', 'A5'].Value := 'The meaning of life, the universe, and everything, is';
  //Excel.Sheets['DP Sheet'].Range['B5', 'B5'].Value := 42;

  Excel.Charts.Add;

  Excel.ActiveChart.ChartType:= xlColumnClustered;
  Excel.ActiveChart.Location (Where:= xlLocationAsObject, Name:= 'DP Sheet');
  Excel.ActiveChart.HasTitle := True;
  Excel.ActiveChart.ChartTitle.Characters.Text := 'Reisezeiten';
  Excel.ActiveChart.Axes(xlCategory, xlPrimary).HasTitle := True;
  Excel.ActiveChart.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text := 'Uhrzeit';
  Excel.ActiveChart.Axes(xlValue, xlPrimary).HasTitle := True;
  Excel.ActiveChart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text := 'Dauer in sec';

  serie := Excel.ActiveChart.SeriesCollection.NewSeries;
    //serie.XValues := '=''Sued_Ost''!Z3S10:Z3'+'S10';
    //serie.Values := '=''Sued_Ost''!Z4S10:Z4'+'S10';

    serie.XValues := '=''Sued_Ost''!C3:C10';
    serie.Values := '=''Sued_Ost''!D3:D10';

  Excel.Visible := true;
  Excel := unassigned;
end;

end.
Ich versuche es gerade mal in später Bindung:

Komischerweise werden immer alle Datenreihen geplottet. Die Werte in der Serie haben gar keinen Einfluss auf das Diagramm.?

Nekromus 13. Jun 2019 07:53

AW: Excel Series.Value Zuweisung funktioniert mit Office 365 nicht
 
Bitte entschuldigt den 'Spam'.

Das 'Sued_Ost' musste ich natürlich durch den richtigen Worksheet Namen ersetzen. Jetzt habe ich das Problem, dass das Diagramm trotzdem alle Daten aus

Delphi-Quellcode:
  for I := 1 to 20 do begin
   Excel.Sheets['DP Sheet'].Cells[I,3].value := I;
  end;

  for I := 1 to 20 do begin
   Excel.Sheets['DP Sheet'].Cells[I,4].value := I+30;
  end;

  for I := 1 to 20 do begin
   Excel.Sheets['DP Sheet'].Cells[I,5].value := I+50;
  end;

  for I := 1 to 20 do begin
   Excel.Sheets['DP Sheet'].Cells[I,6].value := I+80;
  end;
automatisch ins Diagramm nimmt. Warum?

Moombas 13. Jun 2019 08:28

AW: Excel Series.Value Zuweisung funktioniert mit Office 365 nicht
 
Weil das Chart in Excel einen Bezug auf die Zellen hat (und behält). Änderst du die Zellwerte, ändert sich das Chart.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:14 Uhr.
Seite 3 von 4     123 4      

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