Hallo Ihr Lieben,
ich habe folgendes Problem:
ich möchte mit Notes ein Exceldiagramm erstellen. Dafür habe ich folgendes Programm geschrieben das auch funktioniert:
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As notesdocument
Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document
Dim object As NotesEmbeddedObject
Dim xlApp As Variant
Dim oWorkbook As Variant
uidoc.EditMode = True
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
Set oworkbook = xlApp.Workbooks
oworkbook.Add
xlApp.cells(2,1) = "Fehler1"
xlApp.cells(3,1) = "Fehler2"
xlApp.cells(4,1) = "Fehlersumme"
xlApp.cells(5,1) = "Verbrauch"
xlApp.cells(1,2) = "A"
xlApp.cells(2,2) = 4
xlApp.cells(3,2) = 3
xlApp.cells(4,2) = 7
xlApp.cells(5,2) = 70
xlApp.cells(1,3) = "B"
xlApp.cells(2,3) = 3
xlApp.cells(3,3) = 2
xlApp.cells(4,3) = 5
xlApp.cells(5,3) = 50
xlApp.Range("A1:C5").Select
xlApp.Charts.Add
' xlApp.ActiveChart.ChartType = xlColumnClustered
' xlApp.ActiveChart.SetSourceData (Source=Sheets(ActiveChart).Range("A1:D5"), PlotBy=xlRows).select
xlChartType = 51
xlLocationAsObject = 2
With xlApp.ActiveWorkbook.ActiveChart
.Name = "Trend Chart"
.HasTitle = True
.HasLegend = False
.ChartTitle.Text = "Vergleich: "
.ChartType = xlChartType
.PlotArea.Interior.ColorIndex = "0"
.Location xlLocationAsObject , "Trend Chart"
End With
xlApp.ActiveSheet.ChartObjects("Chart 1").Activate
xlApp.ActiveChart.ChartArea.Select
xlApp.ActiveChart.ChartArea.Copy
'change chart dimensions
xlApp.ActiveSheet.Shapes("Chart 1").ScaleWidth 1.50, msoFalse, msoScaleFromTopLeft
xlApp.ActiveSheet.Shapes("Chart 1").ScaleHeight 1.24, msoFalse, msoScaleFromTopLeft
xlApp.ActiveSheet.Shapes("Diagramm 1").IncrementLeft -183
xlApp.ActiveSheet.Shapes("Diagramm 1").IncrementTop -122.25
xlApp.ActiveSheet.ChartObjects("Diagramm 1").Activate
xlApp.ActiveChart.ChartArea.Select
xlApp.ActiveChart.HasDataTable = True
xlApp.ActiveChart.DataTable.ShowLegendKey = True
xlApp.ActiveChart.DataTable.font.size = 8
xlApp.ActiveChart.SeriesCollection(1).Interior.ColorIndex = 32
xlApp.ActiveChart.ChartGroups(1).GapWidth = 10
xlApp.ActiveChart.SeriesCollection(1).Interior.ColorIndex = 27
xlApp.ActiveChart.SeriesCollection(2).Interior.ColorIndex = 32
Call uidoc.GotoField( "Chart" )
Call uidocpm.refresh
doc.art = "vorab"
Call doc.Save( True, True )
xlApp.activeworkbook.saveas "C:\Test.xls"
xlApp.activeworkbook.close
Call xlApp.Quit
Das Problem ist, dass er nun das Diagramm nach der Spalte erzeugt. Es soll aber nach der Zeile erzeugt werden. Deshalb füge ich die Zeile:
xlApp.ActiveChart.SetSourceData (Source=Sheets(ActiveChart).Range("A1:D5"), PlotBy=xlRows).select
ein die ich oben deaktiviert habe. Wenn ich nun Versuche die Maske zu speichern erhalte ich folgende Fehlermeldung:
"Illegal parenthesize reference: SHEETS"
Was mache ich falsch.
Ich gebe auch zu, dass ich in VBA so gut wie keine Ahnung habe.
Für Eure Hilfe wäre ich Euch trotzdem dankbar.
Johann