投稿日 | : 2002/10/04(Fri) 10:17 |
投稿者 | : よねKEN |
Eメール | : |
URL | : http://www5b.biglobe.ne.jp/~yone-ken/ |
タイトル | : Re: 空白文字の削除について |
> またj = Asc(Mid(readdata,180,1)) の結果がJ = 0となっていました。(ヘルプではWindows外の文
> 字とありましたが、ABC.txtもDEF.txtにもその部分は空白がはいっています)
元データは、本当に文字コード32(空白)のデータが該当箇所にあるのでしょうか?
「空白がはいっています」というのはどのように確認されたものでしょうか?
Asc関数の結果から言って該当箇所にあるのは空白ではなくヌル文字(文字コード0)です。
> さらに、ABC.txtの文字列と空白部分をカットアンドペーストして
> Readdata = RTrim("***************** ")
> のように実行してみたら空白部分はきれいに削除されていました。
文字コード0のヌル文字は表示される文字ではないので、
表示の都合で空白のように見えているだけでしょう。
空白でなければRTrimでは削除できません。
以下はイミディエイトウィンドウでの結果。
? Chr(0)
←文字コード0のヌル文字は表示される文字ではないので、表示の都合で空白になっているだけ。
? Asc(" ") ←表示されているものは空白なので結果は32になる。
32
> このような状態なのですが、どのようにしたら余分な空白を削除することができるのでしょうか?
InStr関数を使ってvbNullChar(Chr(0)の定数)を検索して、そこまでをMid関数で切り出すとか。