teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

解決後の捕捉追記

2016/11/09 06:45

投稿

Y.H.
Y.H.

スコア7918

answer CHANGED
@@ -3,4 +3,43 @@
3
3
  ```VBScript
4
4
  sr.Mode = 3 '書き込みモード
5
5
  sr.Type = 2 'テキストデータ
6
- ```
6
+ ```
7
+ ###追記:空文字列でも出力できますよ。
8
+ **さすがにNull値ではエラーが出ます。**
9
+
10
+ ```VBScript
11
+ Set sr = CreateObject("ADODB.Stream")
12
+ dim Arr(2)
13
+ Arr(0)="line 0"
14
+ Arr(1)=""
15
+ Arr(2)="line 2"
16
+
17
+ WScript.StdOut.WriteLine "--start--"
18
+
19
+ with sr
20
+ .Charset = "UTF-8"
21
+ .Mode = 3 '書き込みモード
22
+ .Type = 2 'テキストデータ
23
+ .Open
24
+
25
+ For i = 0 To UBound(Arr)
26
+ WScript.StdOut.WriteLine Arr(i)
27
+ .WriteText Arr(i), 1
28
+ Next
29
+ .SaveToFile "d:\\temp\\out.txt", 2
30
+ .Close
31
+ End With
32
+ WScript.StdOut.WriteLine "--end--"
33
+ ```
34
+
35
+ 出力はBOM付きUTF-8になります。
36
+ > D:\temp>cscript //B foo.vbs
37
+ > --start--
38
+ > line 0
39
+ >
40
+ > line 2
41
+ > --end--
42
+ > D:\temp>type out.txt
43
+ > ・ソline 0
44
+ >
45
+ > line 2