ich möchte mit Excel ein Makro erstellen, das eine relative Datei auf die Platte schreibt, welches ich mit VB.NET einlenen können muß.
Leider gibt es Kompatiblitätsprobleme:
Type Datentyp
inhalt As String * 50
zahlen(50) As Long
auswahl As Boolean
tag As Date
End Type
Sub schreiben()
Dim variable As Datentyp
Open "E:\Test-vba.dat" For Random As #1 Len = Len(variable)
For i = 1 To 2000
Put #1, i, variable
Next i
Close #1
End Sub
und
Structure Datentyp
VBFixedString(50) Dim Inhalt As String
VBFixedArray(50) Dim Zahlen As Integer
Dim Auswahl As Boolean
Dim Tag As Date
End Structure
Module Module2
Sub schreiben()
Dim variable As Datentyp
Dim i As Short
FileOpen(1, "E:\Test-net.dat", OpenMode.Random, , , Len(variable))
For i = 1 To 2000
FilePut(1, variable, i)
Next i
FileClose(1)
End Sub
End Module
führt leider zu unterschiedlich großen Datensätzen.
Die von Excel erzeugte Datei hat eine Größe von 528000 Bytes, während die VB.NET-Routine nur 128000 Bytes Daten erzeugt. In meinem eigentlichen Projekt ist es allerdings umgekehrt, die von VB.NET erzeugte Datei ist größer. Daher weiß ich auch gar nicht, wo ich eigentlich anfangen soll zu suchen.
Kann mir jemand wenigstens einen ungefähren Tip geben, wo ich mit der Suche nach dem Fehler beginnen soll? :-)
Danke,
Andreas
PS: Die eckigen Klammern bei den "Fixed" mußte ich hier weglassen. Und Long in VBA und Integer in VB.NET haben laut Handbuch jeweils 4 Bytes Länge, daran soll/darf es nicht liegen...