Objekte als Teil einer Klasse möglich?
Hallo Forum,
ich möchte gern eine neue Klasse definieren:
In einer 2. Klasse greife ich dann auf diese Klasse zu:
Bei dem Zuweisen des ColorIndex bekomme ich jedoch einen Laufzeitfehler. Ist es in VB.NET möglich, z.B. ein Excel-Objekt als Teil einer anderen Klasse zu definieren und wenn ja, wie weise ich dann den ColorIndex dem Element in meiner Klasse zu?
Vielen Dank,
M. Born
ich möchte gern eine neue Klasse definieren:
imports Excel = Microsoft.Office.Interop.Excel
imports Word = Microsoft.Office.Interop.Word
Public Class Rohdatenklasse
Public Inhalt As String
Public Typ As String
Public Bewertung As String
Public Hintergrund As Excel.Interior
End Class
In einer 2. Klasse greife ich dann auf diese Klasse zu:
Dim Rohdaten As New Rohdatenklasse
Dim appXL as Excel.Application = Excel.Application.GetActiveInstance
'weiterer Code
For i As Integer = 1 To 25
Rohdaten.Hintergrund.ColorIndex = appXL.Cells(i,1).Interior.ColorIndex
Next
Bei dem Zuweisen des ColorIndex bekomme ich jedoch einen Laufzeitfehler. Ist es in VB.NET möglich, z.B. ein Excel-Objekt als Teil einer anderen Klasse zu definieren und wenn ja, wie weise ich dann den ColorIndex dem Element in meiner Klasse zu?
Vielen Dank,
M. Born
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 460075
Url: https://administrator.de/forum/objekte-als-teil-einer-klasse-moeglich-460075.html
Ausgedruckt am: 22.12.2024 um 13:12 Uhr
5 Kommentare
Neuester Kommentar
Hi,
Du musst zuerst
z.B. gleich in der Deklaraion
(beachte das "New")
Oder in der Schleife
E.
Du musst zuerst
Rohdaten.Hintergrund
instantiieren. Erst dann dann kannst Du mit dessen Eigenschaften hantieren.z.B. gleich in der Deklaraion
(beachte das "New")
Public Class Rohdatenklasse
Public Inhalt As String
Public Typ As String
Public Bewertung As String
Public Hintergrund As New Excel.Interior
End Class
Oder in der Schleife
For i As Integer = 1 To 25
Rohdaten.Hintergrund = New Excel.Interior
Rohdaten.Hintergrund.ColorIndex = appXL.Cells(i,1).Interior.ColorIndex
Next
E.
Zitat von @MarcoBorn:
Das Ganze funktioniert zwar noch nicht richtig, aber ich denke, damit komme ich schon mal weiter. Jetzt meckert Excel, dass Interior ein Interface und keine Klasse ist, aber das kann ich entsprechend anpassen.
Ja, das kann sein. Ich habe das so auch nicht getestet. Es ging mir nur darum, das Prinzip zu verdeutlichen.Das Ganze funktioniert zwar noch nicht richtig, aber ich denke, damit komme ich schon mal weiter. Jetzt meckert Excel, dass Interior ein Interface und keine Klasse ist, aber das kann ich entsprechend anpassen.
Viel Erfolg!