Domino 9 und frühere Versionen > ND6: Entwicklung

[gelöst] Excelchart erstellen

(1/1)

JoergL1979:
Hallo Zusammen,
ich programmiere per Script gerade einen Datenexport nach Excel.

Dabei soll auch ein Chart von bestimmten Spalten erzeugt werden.

Mein Problem besteht nun darin, das die Wertespalten nicht nebeneinander liegen. Wenn ich nun die Spalten angebe, wird die Selection trotzdem auch über die dazwischenliegenden Spalten gelegt und somit auch in das Chart eingebaut.

Was ich nicht will.

Hat hier jemand nen Lösungsansatz für mich??

Anbei mein "Testcode".


--- Code: ---Dim xlApp As Variant
Dim workbook As Variant
Dim excelsheet As Variant

Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
Set workbook = xlApp.Workbooks
workbook.Add
Set excelsheet = xlApp.Workbooks(1).Worksheets(1)

xlapp.cells(1,1) = "Aktie"
xlapp.cells(1,3) = "Anteil"

For i=1 To 5
xlapp.cells(i+1,1)="Aktie "+Str(i)
                xlapp.cells(i+1,2)="leer"
xlapp.cells(i+1,3)="20"
Next

xlApp.Range("A1:A6","C1:C6").Select

xlChartType = 5
xlApp.Charts.Add

xlLocationAsObject = 2

xlApp.ActiveWorkbook.ActiveChart.ChartType = xlChartType
xlApp.ActiveWorkbook.ActiveChart.Location xlLocationAsObject, "Tabelle1"

xlApp.activeworkbook.SaveAs ("c:\test.xls")
xlApp.quit

--- Ende Code ---

Gruß und Danke
Jörg

LN4ever:
Kann es sein, daß du versuchst, ein Excel-Problem zu einem Notes-Problem umzumünzen ?

Du bemerkst völlig richtig und treffend:
"Mein Problem besteht nun darin, das die Wertespalten nicht nebeneinander liegen."

Damit hast du dir selbst doch schon die Steilvorlage für die Lösung geliefert: sorge beim Export dafür, daß die für den Chart zu verwendenden Spalten in der Excel-Tabelle nebeneinander liegen.

Gruß

Norbert

JoergL1979:
Hallo Norbert,

leider lassen die Layoutvorgaben eine andere Reihenfolge der Spalten nicht zu und
nein es ist KEIN Excelproblem.... man muss nur wissen wie es geht.

Mit hilfe der Macroaufzeichnung habe ich herrausgefunden woran es liegt.

Falsch ist:

--- Code: ---xlApp.Range("A1:A6","C1:C6").Select
--- Ende Code ---

Richtig ist:

--- Code: ---xlApp.Range("A1:A6;C1:C6").Select
--- Ende Code ---

Gruß
Jörg

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln