Domino 9 und frühere Versionen > ND9: Entwicklung
Excel-Netzdiagramm mit LotusScript erstellen
LuckyNoob:
Hallo Leute, ich habe ein kleine Problem und vielleicht könnt ihr mir helfen.
Ich möchte ein Netzdiagramm erstellen, komme aber irgendwie nicht weiter. Ich habe den ChartType für ein Netz gefunden.
https://msdn.microsoft.com/de-de/library/office/ff838409.aspx
Jedoch wird dies nicht angezeigt. Und meine Werte kommen auch nicht rein. Zu guter letzt erscheint zum Schluss die Fehlermeldung: OLE: Automation object error.
Vielleicht könnt ihr mir helfen. Das wäre echt super.
Hier ist mal der Code, mit welchem ich es schaffe, die Excel zu erzeugen, Daten reinzuschreiben und mein"unerwünschtes" Chart erzeugt:
--- Code: ---Sub GenerateExcelGraph(data As Variant, anzahl As Integer)
' data ist ein array(1 To 4) und ist für die Excel.
' Anzahl ist die Anzahl der untersuchten Dokumente.
On Error GoTo ErrHandler
' Excel erzeugen
Dim xlApp As Variant
Dim xlSheet As Variant
Dim xlOb As Variant
Set xlApp = CreateObject("Excel.application")
xlApp.Visible = True
xlApp.Workbooks.add
xlApp.ReferenceStyle = 2
Set xlSheet = xlApp.Workbooks(1).Worksheets(1)
xlSheet.Name = "Auswertung"
' Überschrift
xlApp.Rows("1:1").Select
xlApp.Selection.Font.Bold = True
xlApp.Range(xlSheet.Cells(1,1), xlSheet.Cells(1,5)).Select
With xlApp.Selection.Interior
.ColorIndex = 15
.PatternColorIndex = 6
End With
' Überschrift der Spalten.
xlApp.Rows("1:1").Select
xlApp.Selection.Font.Bold = True
xlApp.Range(xlSheet.Cells(4,1), xlSheet.Cells(4,4)).Select
'xlApp.Selection.Font.Bold = True
xlSheet.Range("A1").Value = "Auswertung des ausgewählten Dokuments zur DISG-Befragung"
xlSheet.Range("A2").Value = "Anzahl der ausgewählten Dokumente: " & anzahl
xlSheet.Range("A4").Value = "Dominant"
xlSheet.Range("A5").Value = data(1)
xlSheet.Range("B4").Value = "Initiativ"
xlSheet.Range("B5").Value = data(2)
xlSheet.Range("C4").Value = "Stetig"
xlSheet.Range("C5").Value = data(3)
xlSheet.Range("D4").Value = "Gewissenhaft"
xlSheet.Range("D5").Value = data(4)
'Chart Informationen hinzufügen.
Dim chartObject As Variant
xlApp.Charts.add
Set chartObject = xlApp.Charts("Chart1")
chartObject.chartType = -4151
chartObject.setSourceData(xlSheet.Range(xlSheet.Cells(5,1), xlSheet.Cells(5,4)))
With chartObject
.HasTitle = True
.ChartTitle.Characters.Text = "Testing"
.HasLegend = True
End With
'Referenzen zur Excel schließen
Set xlSheet = Nothing
Set xlApp = Nothing
Exit Sub
ErrHandler:
Print "Fehler " & Str(Err) & " mit der Meldung " & Error$ & " ist bei Zeile " & Str(Erl) & " aufgetreten."
End Sub
--- Ende Code ---
Vielen Dank für eure Hilfe
jBubbleBoy:
Wenn du die Code-Zeile, die den Fehler verursacht, nicht kennst, dann verwende bitte ein Errorhandling in Notes, das hilft ungemein. Ich Tippe mal auf diese Zeile:
--- Code: ---chartObject.setSourceData(xlSheet.Range(""))
--- Ende Code ---
LuckyNoob:
Hi, danke für den Tipp.
Ich habe den fehlenden Range oben hinzugefügt. Ich hoffe, dass ist richtig gesetzt. ???
Leider bin ich irgendwie nicht schlauer aus meinem Problem geworden.
Er sagt mir nun, dass in Zeile 56 der Fehler wäre (Siehe Code)
--- Code: ---xlSheet.Range("A1").Value = "Auswertung des ausgewählten Dokuments"
--- Ende Code ---
Ich habe auch schon die Zeilen verschoben, um sicher zu gehen...
Zudem Öffnet er immernoch ein Balkendiagramm... :'(
ronka:
Den Range kann auf 2 weege gesetzt werden., wie ist der erste gesetzt ?
jBubbleBoy:
--- Zitat von: LuckyNoob am 28.08.17 - 15:45:18 ---Er sagt mir nun, dass in Zeile 56 der Fehler wäre (Siehe Code)
--- Ende Zitat ---
das glaube ich nicht ;) denn in deinem Code ist das die Zeile 56:
--- Code: ---xlApp.Selection.Font.Bold = True
--- Ende Code ---
und diese liegt vor deiner genannten Zeile (Zeile 59).
Du musst im LS-Editor auf die Funktion klicken die den Fehler erzeugt hat, das zeigt dir dann die richtige Fehlerzeile an.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln