@tulla: und @sterat:
Ich habe jetzt einen lauffähigen Quellcode erstellt (zum erstenmal mit Interop gewerkt...):
Spoiler anzeigen
Das mit dem benannten Bereich(letzteZeile) habe ich jetzt nicht 'auf die Schnelle gebacken' bekommen und habe einfach die Zelle(A1) dafür hergenommen...
Eine Form1 mit Textbox1 und Button1 erstellen und den Code einfügen...
Eine Excel-Datei (Mappe1.xlsx) mit einer Tabelle (Tabelle1) in das ausführende App-Verzeichnis kopieren...
Die bessere und elegantere Lösung wäre aber, mit Excell via typisierten Dataset einen Datenaustausch durchzuführen...
Ich habe jetzt einen lauffähigen Quellcode erstellt (zum erstenmal mit Interop gewerkt...):
VB.NET-Quellcode
- Option Strict On
- Imports Microsoft.Office.Interop
- Imports Microsoft.Office.Interop.Excel
- Imports Microsoft.Office.Core
- Imports System.IO
- Imports System.Reflection.Assembly
- Public Class Form1
- Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
- Dim ExcelPfad As String = GetExecutingAssembly.Location.Remove(GetExecutingAssembly.Location.LastIndexOf("\"c))
- Dim ExcelDateiName As String = Path.Combine(ExcelPfad, "Mappe1.xlsx")
- Dim ExcelTabelleName As String = "Tabelle1"
- Dim xlsAppl As Excel.Application
- Dim xlsMappe As Excel.Workbook
- Dim xlsBlatt As Excel.Worksheet
- Dim xlsRange As Excel.Range
- xlsAppl = New Excel.Application
- xlsAppl.Visible = True
- xlsMappe = xlsAppl.Workbooks.Open(ExcelDateiName)
- xlsBlatt = CType(xlsMappe.Worksheets(ExcelTabelleName), Worksheet)
- Dim Pos = CInt(xlsBlatt.Range("A1").Value) 'Zelle(A1) als Zeilenmerker im Arbeitsblatt(Tabelle1) definieren
- xlsRange = CType(xlsBlatt.Cells(Pos + 1, 2), Range) 'Datenausgabe erfolgt in der Spalte(B)
- xlsRange.Value = TextBox1.Text 'Wert von Textbox1 übertragen
- xlsBlatt.Range("A1").Value = Pos + 1 'letzte Zeile merken...
- xlsAppl.Quit()
- End Sub
- End Class
Eine Form1 mit Textbox1 und Button1 erstellen und den Code einfügen...
Eine Excel-Datei (Mappe1.xlsx) mit einer Tabelle (Tabelle1) in das ausführende App-Verzeichnis kopieren...
Die bessere und elegantere Lösung wäre aber, mit Excell via typisierten Dataset einen Datenaustausch durchzuführen...
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „VB1963“ ()