Excelobjekt in VB - excl.Range(...).Text ist read only, wie Schreibzugriff?

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von xtts02.

    Excelobjekt in VB - excl.Range(...).Text ist read only, wie Schreibzugriff?

    Hallo Leute,

    habe in VB ein Excelobjekt folgendermaßen erstellt:

    VB.NET-Quellcode

    1. Imports iExcel = Microsoft.Office.Interop.Excel
    2. Public intChartType As Integer = 4
    3. Public objexlApp As New iExcel.Application 'neue Application
    4. Public objexlDatei As iExcel.Workbook ' das aktuelle WorkBook
    5. Public objexlBlatt As iExcel.Worksheet ' das aktuelle WorkSheet
    6. Public objexlChart As iExcel._Chart 'Excel Chart
    7. Public Sub ExcelAnlegen()
    8. 'Object wir erstellt
    9. objexlApp = CreateObject("Excel.Application")
    10. 'Zuweisung der Attribute
    11. With objexlApp
    12. 'die Datei wird nur Programmintern geöffnent
    13. .Visible = False
    14. 'welches Workbook wird geöffnent
    15. objexlDatei = .Workbooks.Open(Path.GetDirectoryName(Application.ExecutablePath) & "\Spiele\" & strProjektname & "\Auswertung\" & strProjektname & "-Einlesen.xlsx")
    16. 'welches Sheet wird verwendet
    17. objexlBlatt = objexlDatei.Worksheets(1)
    18. End With
    19. End Sub


    Wenn ich jetzt in einer anderen Sub den Text einer Zelle in einer Schleife ändern will, unterkringelt IS die Anweisung und sagt:

    "Die Eigenschaft "Text" ist ReadOnly"

    Hier die Zeile:

    VB.NET-Quellcode

    1. ...
    2. objexlBlatt.Range("J" & i).Text = CDbl(objIeee.ToDezimal())
    3. ...


    Wenn ich die Deklaration so ändere:

    VB.NET-Quellcode

    1. Public objexlApp As New Object 'neue Application
    2. Public objexlDatei As Object 'Wird das aktuelle WorkBook
    3. Public objexlBlatt As Object 'Wird das aktuelle WorkSheet
    4. Public objexlChart As Object 'Excel Chart

    FUNKTIONIERT ES!

    Allerdings ist Object zu allgemein, nicht typsicher etc.

    Kann ich irgendwas tun um die explizite Deklaration zu behalten?

    mfG
    Mark