いつも拝見させていただいています。
バイナリファイルからエクセルファイルに変換し、
また、エクセルファイルをバイナリファイルに変換するツールを作っています。
バイナリファイルからエクセルファイル(S-JIS)に変換するコードを作ってみましたけど、エラーが出ます。
どなたかお知恵をお貸し下さい。
ADODB.Streamについても教えていただきたいです。
環境はVB6.0(SP5)です。
参考コード
Dim intFileNumber As Integer
Dim lngFileSize As Long
Dim bytArray() As Byte
Const adTypeBinary = 1
Const adTypeText = 2
Dim St As Object
Set St = CreateObject("ADODB.Stream")
St.Open
intFileNumber = FreeFile
Open "C:\A.Dat" For Binary As #intFileNumber
lngFileSize = LOF(intFileNumber)
If lngFileSize Then
ReDim bytArray(lngFileSize - 1)
Get #1, , bytArray
End If
Close #intFileNumber
St.Write bytArray ←エラー3129:このコンテキストで操作は許可されていません。
'Shift_JISの文字列として得る
Dim S1 As String
St.Position = 0
St.Type = adTypeText
St.Charset = "Shift_JIS"
S1 = St.ReadText()
MsgBox S1, , "Shift_JIS"
St.Close
Set St = Nothing
End Sub
先ほどのコードには
St.Type = adTypeBinary
が抜けていましたので、エラーが出ました。
でも、S-JISには変換されていないみたいです(文字化けします)。
なにか方法ありますか?