テキストファイルの読み込み・変換について

解決


おばかさん  2003-11-20 05:47:39  No: 80491

かなり考えたのですが、解決策が見出せず質問させて頂きます。
TXTファイルをVbで読み込む所は出来ているのですが、TXTの1行に

1     2     3     4         5
2     4     3     4         5
スペースはタブで飛んでいます。

のデータがあるのですが、始めの数字は
mid(text,1,1)=1
mid(text,1,1)=2の形で指定は出来たのですが
次の数字に行きたいのですが、タブの飛ばし方がわからず、次の数字の読み込みへ進むことが出来ません。
もしよろしければどんな関数を使用すれば出来るのかお教え下さい。
お願い致します。


Say  2003-11-20 06:23:18  No: 80492

vbTabをデリミタにしてSplitするとか・・・。


ochiba  2003-11-20 06:27:15  No: 80493

どうしたいのでしょうか?
1     2     3     4         5
  を5ケの変数に取り込む...でしょうか?
そうなら

Dim dat() As Strring
Dim tmp  As Strring
Dim i As Integer 
tmp = "1     2     3     4         5"

For i = 0 to 2      '全てのタブを1ケの空白に置換
                    '場合に依っては2を5とかに多くする
    tmp = Replace(tmp , vbTab," ")
    tmp = Replace(tmp , "  "," ")   '空白2ケを空白1ケに置換
Next i

'空白が1ケの区切りになってから

dat = split(tmp," ")

debug.print dat(0)  ' 0
debug.print dat(1)  ' 1


おばかさん  2003-11-20 19:32:33  No: 80494

ご解答頂きありがとうございます。

今私が開発しているのはVBで行っているのですが、
VBSには確かにsplit関数が存在するのですが、VBでは確認が出来なかったんですが・・・
VBではどのような関数で同じ動作が出来ますでしょうか?
InStr関数では出来ませんでした。。。
ご教授お願い致します。


ochiba  2003-11-20 19:42:20  No: 80495

「VBでは確認が出来なかったんですが・」では分かりません。
VB5には無いがVB6にはあります。
VB5で同様のことをするサンプルもWebにはありますよ。
下記の検索エンジンにて
http://www.yahoo.co.jp/
split VB5  をキーにして検索したら上から3番目に下記がありました。
探すのにものの1分とは掛かりませんでした。
豊富な情報源を有効に利用させてもらいましょう!!!

http://www.geocities.co.jp/SilkRoad/4511/vb/split.htm


おばかさん  2003-11-20 20:23:27  No: 80496

私はVB5を使用していました。

お教え頂いたサイトで、確認できました☆
このサンプルを利用して、作成したいと思います。

ochibaさん、ご教授どうもありがとうございました!!!


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加