Hallo VB-Fangemeinde!
Ich bin gerade dabei, mich in Visual Basic Studio 2010 einzuarbeiten. Für numerische Anwendungen möchte ich n*n-Matrizen in Excel-Dateien abspeichern. Bei der Suche im Internet bin ich nur teilweise fündig geworden, wie sich so etwas programmieren lässt. Die Überführung der Matrixelement in eine Excel-Tabelle bekomme ich hin:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim oXL As Object ' Excel application
Dim oBook As Object ' Excel workbook
Dim oSheet As Object ' Excel Worksheet
Dim oChart As Object ' Excel Chart
Dim iRow As Integer ' Index variable for the current Row
Dim iCol As Integer ' Index variable for the current Row
Const cNumCols = 10 ' Number of points in each Series
Const cNumRows = 2 ' Number of Series
Dim A(0 To cNumRows + 1, 0 To cNumCols + 1) As Integer
'Start Excel and create a new workbook
oXL = CreateObject("Excel.application")
oBook = oXL.Workbooks.Add
oSheet = oBook.Worksheets.Item(1)
' Insert Random data into Cells for the two Series:
Randomize(Now().ToOADate())
For iRow = 1 To cNumRows
For iCol = 1 To cNumCols
A(iRow, iCol) = Int(Rnd() * 50) + 1
Next iCol
Next iRow
oSheet.Range("A1").Resize(cNumRows, cNumCols).Value = A
' Make Excel Visible:
oXL.Visible = True
oXL.UserControl = True
'ActiveWorkbook.Saveas("D:/VB_Test.xls")
End Sub
End Class
Was nicht funktioniert, ist die Abspeicherung der Datei, den drittletzten Befehl habe ich deshalb wieder zum Kommentar gemacht. Für die Abspeicherung werde ich vorab auch auf die Befehle zur Ansicht und Veränderbarkeit verzichten können. Nun meine Fragen:
Wie muss der Befehl/ müssen die Befehle lauten, um die Excel-Datei in einem von mir vorgegebenen Pfad abspeichern und schließen zu können?
Letztlich soll die Abspeicherung der Matrixelemente nach folgendem Muster geschehen: Zelle A1=Größe der Matrix n, Zelle B1=Erstelldatum der Datei, Ab Zelle A2 Ablage der Matrixelemente.
Wie muss die Prozedur im umgekehrten Fall lauten, wenn ich die abgespeicherten Daten in VB wieder einlesen möchte?
Vielen Dank für Eure Hilfe!
LG
Thomas
Ich bin gerade dabei, mich in Visual Basic Studio 2010 einzuarbeiten. Für numerische Anwendungen möchte ich n*n-Matrizen in Excel-Dateien abspeichern. Bei der Suche im Internet bin ich nur teilweise fündig geworden, wie sich so etwas programmieren lässt. Die Überführung der Matrixelement in eine Excel-Tabelle bekomme ich hin:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim oXL As Object ' Excel application
Dim oBook As Object ' Excel workbook
Dim oSheet As Object ' Excel Worksheet
Dim oChart As Object ' Excel Chart
Dim iRow As Integer ' Index variable for the current Row
Dim iCol As Integer ' Index variable for the current Row
Const cNumCols = 10 ' Number of points in each Series
Const cNumRows = 2 ' Number of Series
Dim A(0 To cNumRows + 1, 0 To cNumCols + 1) As Integer
'Start Excel and create a new workbook
oXL = CreateObject("Excel.application")
oBook = oXL.Workbooks.Add
oSheet = oBook.Worksheets.Item(1)
' Insert Random data into Cells for the two Series:
Randomize(Now().ToOADate())
For iRow = 1 To cNumRows
For iCol = 1 To cNumCols
A(iRow, iCol) = Int(Rnd() * 50) + 1
Next iCol
Next iRow
oSheet.Range("A1").Resize(cNumRows, cNumCols).Value = A
' Make Excel Visible:
oXL.Visible = True
oXL.UserControl = True
'ActiveWorkbook.Saveas("D:/VB_Test.xls")
End Sub
End Class
Was nicht funktioniert, ist die Abspeicherung der Datei, den drittletzten Befehl habe ich deshalb wieder zum Kommentar gemacht. Für die Abspeicherung werde ich vorab auch auf die Befehle zur Ansicht und Veränderbarkeit verzichten können. Nun meine Fragen:
Wie muss der Befehl/ müssen die Befehle lauten, um die Excel-Datei in einem von mir vorgegebenen Pfad abspeichern und schließen zu können?
Letztlich soll die Abspeicherung der Matrixelemente nach folgendem Muster geschehen: Zelle A1=Größe der Matrix n, Zelle B1=Erstelldatum der Datei, Ab Zelle A2 Ablage der Matrixelemente.
Wie muss die Prozedur im umgekehrten Fall lauten, wenn ich die abgespeicherten Daten in VB wieder einlesen möchte?
Vielen Dank für Eure Hilfe!
LG
Thomas