- ベストアンサー
VBAでテキスト出力時のスペースについて
VBAで下記のようなテキスト出力を書いたのですが 出力されたテキストファイルの「No」部分の頭と数字のあとに半角スペースが入ってしまします。 半角スペースなしに出力させる方法を教えてください。 ちなみに「No」は書式指定なしの数字です。 Print #1, No; Chr(9); Intime; "/"; OutTime; Chr(9); text よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Format(12,"@@@@") とすると □□12(□は半角スペースのつもり)となり、桁合わせのために使ってます。 この時に、Format(12,"@")とすると余計なスペースが無くなるのは経験上からです。 ちょうど、Trim関数のように。 イミディエイトウィンドウで試したらTrim関数でもエラーにはならないみたいですね。 色々とまだまだありそうです。 a=1 ?a □1 ?trim(a) 1 Intime(時刻型)の場合の末尾のスペースは、AM.PM.の入る場所かな? 参考になるかも http://officetanaka.net/excel/vba/tips/tips110.htm
その他の回答 (2)
- bin-chan
- ベストアンサー率33% (1403/4213)
スペースの正体は「符号」のためのもの。 > Print #1, No; Chr(9); Intime; "/"; OutTime; Chr(9); text の直前で、Noに-1を代入すると確認できますよ。 format(No)だけでも良かったのでは? あるいは、意味を明確にする意味で CStr(No)とか。
お礼
回答ありがとうございました。 VBA初心者でインターネットで色々聞きながら勉強しています。 大変参考になりました。
- nicotinism
- ベストアンサー率70% (1019/1452)
文字として処理出来ないかな? Print #1, No; Chr(9); Intime; "/"; OutTime; Chr(9); text ↓ Print #1, format(No,"@"); Chr(9); format(Intime,"@"); "/"; format(OutTime,"@"); Chr(9); text 試してません。
お礼
回答ありがとうございました。 問題なく半角スペースが取れました。 因みに、format(No,"@")の意味を教えてもらえないでしょうか。 お願いします。
お礼
度々回答ありがとうございました。 わかりやすい説明で大変勉強になりました。