![]() |
Excel Diagramm einfärben
Hallo, folgendes Problem,
ich öffne mir mit folgendem Script eine Excel Datei:
Delphi-Quellcode:
Und bearbeite darin haufenweise Werte:
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');
Delphi-Quellcode:
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.
Excel.Cells [zeile,2].Value := q_meinesPROZENT.AsString;
Excel.Cells [zeile,3].Value := q_meinesGESAMT.AsString; ..... ..... ..... 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:
Leider habe ich das noch nicht in Delphi umwandeln können, bin schon am verzweifeln.
ActiveSheet.ChartObjects("Diagramm 2").Activate
ActiveChart.SeriesCollection(1).Select ActiveChart.SeriesCollection(1).Points(2).Select With Selection.Interior .ColorIndex = 4 .Pattern = xlSolid End With Hoffe es kann mir jemand helfen. Danke. |
Re: Excel Diagramm einfärben
Hi
Delphi-Quellcode:
Greetz
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 Boombuler |
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:
Delphi:
ActiveWindow.Visible = False
Windows("123.xls").Activate Range("A1").Select
Delphi-Quellcode:
Gibt aber immer den Fehler:
Excel.ActiveWindow.Visible := False;
Excel.Windows('123.xls').Activate; Excel.Range('A1').Select; --------------------------- Member nicht gefunden. --------------------------- |
Re: Excel Diagramm einfärben
|
Re: Excel Diagramm einfärben
versuch mal eckige- statt runde Klammern zu nehmen.
|
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:
Dann wieder zurück in eine Zelle, damit weitergearbeitet werden kann:
Excel.ActiveSheet.ChartObjects['Diagramm 2'].Activate;
Excel.ActiveChart.SeriesCollection(1).Select; Excel.ActiveChart.SeriesCollection(1).Points(1).Select; Excel.Selection.Interior.ColorIndex := 24;
Delphi-Quellcode:
Danke für eure Hilfe!
Excel.ActiveWindow.Visible := False;
Excel.Windows['meine.xls'].Activate; Excel.Range['A1'].Select; 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