Hallo zusammen!
Ich möchte gerne aus Excel eine WAV-Datei schreiben. Das Format habe ich gefunden. Nun liegen die Daten als einzelne Bytes in einer Spalte vor.
Folgender Code sollte zunächst mal den Header schreiben:
<code> Sub Export_WAV()
'
' Export_WAV Makro
'
'
Dim iI, iFileID As Integer
Dim sFilename As Variant
Dim yValue As Variant
Dim CType As Variant
iFileID = FreeFile
sFilename = Application.GetSaveAsFilename(Title:="WAV-DAtei Speichern", FileFilter:="Wave-Datei,*.wav")
If sFilename <> False Then
Open sFilename For Binary Access Write As #iFileID
For iI = 2 To 45
yValue = Worksheets("Header").Cells(iI, 2).Value
CType = TypeName(yValue)
Put #iFileID, , CByte(yValue)
Next
End If
Close #iFileID
End Sub</code>
CType wurde nur für Testzwecke angelegt. Offenbar werden die Werte jeweils als Double gelesen. Trotz expliziter Typumwandlung werden dennoch 14 mal soviele Bytes angelegt, wie erwartet.
Wie kann ich tatsächlich einzelne Bytes schreiben?
Dank und Gruß,
Arndt
|