Textboxen nach Excel

  • VB.NET

Es gibt 26 Antworten in diesem Thema. Der letzte Beitrag () ist von MartinZ.

    Textboxen nach Excel

    Hallo zusammen, ich versuche Werte aus VB Textboxen in Excel einzufügen, hab hier im Forum auch schon so einen Beitrag gefunden nur bin ich nich so fit in VB.

    Ich hab unter Verweise die Microsoft Excel Object Library hinzugefügt und es mit dem Code versucht den ich gefunden hab.
    Bei mir steht nun grad: Der Verweis auf einen nicht freigegebenen Member erfordert einen Objektverweis. Bei Woorkbooks.OpenXML

    Könnt ihr mir vielleicht helfen und sagen was ich da machen muss?

    Mein Code sieht grad so aus:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim Workbook As Object
    3. Workbook = Workbooks.OpenXML("C:\Users\Martin\Desktop\Excel.xlsx")
    4. Workbook.Sheet(1).Cells(1, 1).Formular = txtName.Text
    5. End Sub


    MfG Martin
    Naja aber ich mache ja nichts in VBA, hab VB10 Express. möcht nur dass, das was in den Textboxen bei mir steht in eine Excel Tabelle eingefügt wird.

    Wenn ichs so mache:

    VB.NET-Quellcode

    1. Dim Workbook As Object, Excel As Object
    2. Excel = CreateObject("Excel.Application")
    3. Workbook = Excel.Workbooks.OpenXML("C:\Users\Martin\Desktop\Excel.xlsx")
    4. Workbook.Sheet(1).Cells(1, 1).Formula = txtName.Text


    kommt die Fehlermeldung:
    Bilder
    • Fehlermeldung.jpg

      55,26 kB, 709×237, 254 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „MartinZ“ ()

    Hä?
    Wie wär's mit minimaler Eigeninitiative?

    Hast du überhaupt auf den Link geklickt?
    Da ist ein Beispiel dabei.
    Aber vor allem sollst du dich mit den Aufrufparametern beschäftigen.

    VB.NET-Quellcode

    1. Workbook = Excel.Workbooks.Open("C:\Users\Martin\Desktop\Excel.xlsx")
    2. Workbook.Sheets(1).Cells(1, 1).Formula = txtName.Text
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    ja doch sicher, die habe ich mir angeschaut.

    wenn ich jetzt mit Excel.xlsx starte kommt die Fehlermeldung COMException wurde nicht behandelt, was is den damit gemeint, der Verweis?
    Hab den aber drin....?

    wenn ichs mit Excel.xls starte kommt keine Fehlermeldung, nur kann ich dann nich mehr die Datei öffnen, da kommt dann die Meldung das se grad verwendet wird.
    hmm ok die Fehlermeldung kommt grad nich mehr.

    noch mal kurz zum Verständnis, wenn ich auf den button drück, was sollte dem code nach passieren?

    der Text aus der Textbox von VB wird in die Excel Datei übergeben, wenn ich dann die Excel Datei öffne, steht das aus der Textbox in einer Zeile drin?

    wenn ich die Excel Datei öffnen will zeigts mir an das die grad nur schreibgeschützt geöffnet werden kann
    Vielleicht hab ich mich auch falsch ausgedrückt und mein Problem nicht richtig beschrieben, falls das so is dann sorry.

    Ich hab in Visual Basic 2010 Express ein Programm geschrieben.

    Was ich grad noch brauch nur leider keine Ahnung von hab is, das wenn ein Button gedrückt wird, eine Excel Datei erstellt wird und das was in meinem Programm in den Textboxen steht in die Exceltabelle übernommen wird und die Excel Datei geöffnet wird.

    Hoffe mein Problem is nun etwas klarer falls es zu Missverständnissen gekommen ist und das ihr mir helfen könnt.

    MfG Martin
    sorry aber.... disposen?

    auch nach dem speichern und schließen vom workbook und der VB Form, kommt die Meldung beim öffnen von der Excel Datei das die grad verwendet wird

    wo isn da noch der hacken

    Edit: Ach du grüne neune!!!!! ich hatte die Excel Datei in einem Ordner drin der schreibgeschütz war!! :S :D

    können so auch Grafiken die ich in Pictureboxen hab in Excel übernommen werden?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „MartinZ“ ()

    Das ist nicht mehr so ganz trivial.
    Du musst erst ein OleObject vom Typ Image erzeugen und diesem dann dein Bild unterjubeln.
    Ganz grob so:

    VB.NET-Quellcode

    1. Set Image = WorkSheet.OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, DisplayAsIcon:=False, Left:=200, Top:=100, Width:=50, Height:=50)
    2. Set Image.Object.Picture = myPicture
    Mit etwas Aufwand kannst du das OleObject auch noch an eine bestimmte Zelle binden.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Das heißt dann über Left & Top wird die position angegeben und mit Width & Hight die Größe?

    VB.NET-Quellcode

    1. Image = WorkSheet.OLEObjects.Add(ClassType:="Form1.Image.Picturebox1", Link:=False, DisplayAsIcon:=False, Left:=200, Top:=100, Width:=50, Height:=50)
    2. Image.Object.Picture = myPicture


    Is das mit meiner Picturbox1 so richtig oder wo muss ich die da reinsetzen?
    muss ich beim Image, "dim Image as Object" schreiben oder was is das dann?

    MfG Martin