
VBScriptでバイナリファイルを書き込みたいのですが、以下のコードで Writeしようとするとコンパイルエラーとなります。
なぜですか?
Option Explicit
Dim stream
Dim i
Dim line
Set stream = CreateObject("ADODB.Stream")
stream.Open
stream.Type = 1
line = Array(61,0,13,0,10,0)
stream.Write line
stream.SaveToFile "bbb.txt", 2
stream.Close
Set stream = Nothing
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
そちらのコードをエクセルVBAにて実行したところ、そちらの問題となっているところが再現いたしました。
writeのパラメータがバイト型でなければならないようです。
http://homepage1.nifty.com/MADIA/vb/vb_bbs/20031 …
VBAなので、byte()で宣言して、各配列に値をセットしたら、通りました。
型宣言できない状態では、ADODB.Streamオブジェクトを利用した実現は無理っぽいすね。
この回答への補足
これでなんとかうまくいきました。
dim sOut
dim sIn
set sOut = CreateObject("ADODB.Stream")
set sIn = CreateObject("ADODB.Stream")
With sOut
.type = 2
.charset = "iso-8859-1"
.open
End With
For i = 0 to &hff
sOut.writeText(ChrW(i)) 'uses ChrW
next
sOut.saveToFile "bin.bin", 2
sOut.close
With sIn
.type = 1
.open
End With
sIn.LoadFromFile("bin.bin")
line = sIn.Read
msg = ""
For i = 1 To LenB(line)
ch = AscB(MidB(line, i ,1))
msg = msg & " " & Hex(ch)
Next
sIn.Close
Wscript.Echo msg
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでMODE関数をつくる
-
VBA 変数名に変数を使用したい。
-
Redim とEraseの違いは?
-
VB.NETにて、構造体へデータを...
-
VB.NETの配列にExcelから読み込...
-
2次元配列でウォッチが出来ない
-
構造体配列内の文字列検索のよ...
-
EXCEL VBA 配列デー...
-
VBでの配列をEXCELに出力する方法
-
構造体配列の特定のメンバーをF...
-
EXCELを使って、アクセスログを...
-
C#で作成したdllをVBScriptで使...
-
2つ目のレコードの値を取得す...
-
『列名 '担当者CD' があいま...
-
VBAでアクセスDBからデータの取...
-
ADOでNullフィールドの抽出
-
MDBをADO接続でINSERT・UPDATE...
-
[C#] DataGridViewでコンボボッ...
-
Access 追加クエリについて
-
DBFlute でシーケンス値取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
エクセルでXY座標に並べられた...
-
vba フィルター 複数条件 3つ以...
-
配列のペースト出力結果の書式...
-
OutOfMemoryExceptionの回避策...
-
配列の中の最大値とそのインデ...
-
複数のtextboxの処理を一括で行...
-
Dir関数で読み取り順を操作でき...
-
VB6からの移行したいけど、VB.N...
-
COBOLの基本的な事なので...
-
構造体配列の特定のメンバーをF...
-
大量の変数を定義するにはどう...
-
EXCEL VBAの課題です
-
Redim とEraseの違いは?
-
VB.NETの配列にExcelから読み込...
-
VBAでMODE関数をつくる
-
VB.NETにて、構造体へデータを...
-
1ビットごとの配列を作りたい
-
VBAで配列引数を値渡しできない...
おすすめ情報