Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Excel Diagramm einfärben (https://www.delphipraxis.net/40416-excel-diagramm-einfaerben.html)

ueei.net 15. Feb 2005 14:34


Excel Diagramm einfärben
 
Hallo, folgendes Problem,

ich öffne mir mit folgendem Script eine Excel Datei:

Delphi-Quellcode:
try
    Excel := CreateOleObject('Excel.Application');
  except
    // Fehler aufgetreten
    ShowMessage ( 'Excel konnte nicht gestartet werden !' );  
    Exit;
  end;
  // Dokument öffnen
  Excel.Visible := False;
  Excel.Workbooks.Open(FileName := 'hansi.xls');
Und bearbeite darin haufenweise Werte:

Delphi-Quellcode:
 Excel.Cells [zeile,2].Value := q_meinesPROZENT.AsString;
  Excel.Cells [zeile,3].Value := q_meinesGESAMT.AsString;
  .....
  .....
  .....
In der Datei befundet sich auch ein Diagramm, von dem ich abhängig von meinen Daten eine Spalte einfärben möchte. Die Position der Spalte kenne ich.

Nun hab ich mir ein Macro aufgezeichnet, welches eine Säule einfärbt, in diesem Fall die zweite. Diesen Code möchte ich in Delphi "ausführen", bzw. portieren, da im Excel keine Macros sein dürfen.

Delphi-Quellcode:
ActiveSheet.ChartObjects("Diagramm 2").Activate
    ActiveChart.SeriesCollection(1).Select
    ActiveChart.SeriesCollection(1).Points(2).Select
    With Selection.Interior
        .ColorIndex = 4
        .Pattern = xlSolid
    End With
Leider habe ich das noch nicht in Delphi umwandeln können, bin schon am verzweifeln.

Hoffe es kann mir jemand helfen. Danke.

Boombuler 16. Feb 2005 08:28

Re: Excel Diagramm einfärben
 
Hi

Delphi-Quellcode:
Excel.ActiveSheet.ChartObjects['Diagramm 2'].Activate;
Excel.ActiveChart.SeriesCollection(1).Select; // Hier evtl () in [] umwandeln
Excel.ActiveChart.SeriesCollection(1).Points(2).Select;// Hier evtl () in [] umwandeln
Excel.Selection.Interior.ColorIndex := 4
Excel.Selection.Interior.Pattern := xlSolid
Greetz
Boombuler

ueei.net 16. Feb 2005 13:47

Re: Excel Diagramm einfärben
 
Hallo,

das Funktioniert schon mal so ganz gut (einige kleine Änderungen).

Gibt jetzt nur ein Problem. Wenn das Digramm ausgewählt ist, kann keine Zelle mehr beschrieben werden, dann kommt immer ein OLE Fehler.

Habe versucht analog zum Macro den Code einzusetzen:

Macro:

Delphi-Quellcode:
  ActiveWindow.Visible = False
    Windows("123.xls").Activate
    Range("A1").Select
Delphi:
Delphi-Quellcode:
 Excel.ActiveWindow.Visible := False;
 Excel.Windows('123.xls').Activate;
 Excel.Range('A1').Select;
Gibt aber immer den Fehler:
---------------------------
Member nicht gefunden.
---------------------------

toms 16. Feb 2005 14:10

Re: Excel Diagramm einfärben
 
Hi,

Die "richtigen" Code findest du in hier]folgendem Source Code[/url]

perle 16. Feb 2005 14:18

Re: Excel Diagramm einfärben
 
versuch mal eckige- statt runde Klammern zu nehmen.

ueei.net 16. Feb 2005 14:44

Re: Excel Diagramm einfärben
 
Hallo,

hier die gesammelten Werke wie es nun wirklich funktioniert:


Erst mal Diagramm und Säule wählen dann Farbe ändern:

Delphi-Quellcode:
 Excel.ActiveSheet.ChartObjects['Diagramm 2'].Activate;
  Excel.ActiveChart.SeriesCollection(1).Select;
  Excel.ActiveChart.SeriesCollection(1).Points(1).Select;
  Excel.Selection.Interior.ColorIndex := 24;
Dann wieder zurück in eine Zelle, damit weitergearbeitet werden kann:

Delphi-Quellcode:
  Excel.ActiveWindow.Visible := False;
  Excel.Windows['meine.xls'].Activate;
  Excel.Range['A1'].Select;
Danke für eure Hilfe!

lg.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:56 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-2025 by Thomas Breitkreuz