【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?

txtファイルで取り込んだ2行にまたがっている数値・英文字・ひらがななどを1行ずつ配列として格納した後に、数値だけのtxtファイルとそれ以外のtxtファイルを別々に作成し、保存するプログラムを組みたいのですがよく分かりません。
ちなみに、使っているOSとAPはWinXP、Excel2003です。

InputData.txtの内容
A34bFg7p0 あ 1ylut890
B45LK4L え

Number.txtの完成形
34701890
454

String.txtの完成形
AbFgp あ ylut
BLKL え

'変数の宣言
Dim myFile, myText, myList(), myList2(), str, B, C As String
Dim XX As Integer
Dim myFunc As Boolean
Dim cnt, i As Long
On Error GoTo myError

myFile = Dir("InputDama.txt")

'ファイルの読み込み
If myFile = "InputDama.txt" Then

Open myFile For Input As #1
Do While Not EOF(1)

Line Input #1, myText


If myText <> "" Then
If cnt = 0 Then
ReDim myList(cnt), myList2(cnt)

Else
ReDim Preserve myList(UBound(myList) + 1), myList2(UBound(myList2) + 1)

End If

'数字・文字列の分類
CC = Len(myText)
For XX = 1 To CC
str = Mid(myText, XX, 1)
If IsNumeric(str) = True Then '←数字かどうかはIsNumericで判断
B = B & str
Else
C = C & str
End If
Next
myList(cnt) = B
myList2(cnt) = C
cnt = cnt + 1
End If

Loop


'書き込みファイルの作成
Open "Number.txt" For Output As #2
Open "String.txt" For Output As #3

For cnt = 0 To UBound(myList)
Print #2, myList(cnt)
Next cnt

For cnt = 0 To UBound(myList2)
Print #3, myList2(cnt)
Next cnt

Close #1, #2, #3

End Sub

これだと、2行目に1行目で格納したデータが最後出てしまうので、それを取り除きたいのですが、効果的な方法が分かりませんので、宜しくお願いします。

A 回答 (1件)

変数 B/Cの初期化を適切な位置で行いましょう



今回の場合は 元のファイルから1行読み込んだ後
文字種判定をして分割するまでの間で行えばいいでしょう

Line Input #1, myText

' 分割後の格納変数の初期化
B = ""
C = ""

If myText <> "" Then
    • good
    • 0
この回答へのお礼

redfox63さん、ありがとうございます。
うまいくいきました。

お礼日時:2009/03/10 13:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報