• ベストアンサー

VBAでテキスト出力時のスペースについて

VBAで下記のようなテキスト出力を書いたのですが 出力されたテキストファイルの「No」部分の頭と数字のあとに半角スペースが入ってしまします。 半角スペースなしに出力させる方法を教えてください。 ちなみに「No」は書式指定なしの数字です。 Print #1, No; Chr(9); Intime; "/"; OutTime; Chr(9); text よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.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

homma
質問者

お礼

度々回答ありがとうございました。 わかりやすい説明で大変勉強になりました。

その他の回答 (2)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

スペースの正体は「符号」のためのもの。 > Print #1, No; Chr(9); Intime; "/"; OutTime; Chr(9); text の直前で、Noに-1を代入すると確認できますよ。 format(No)だけでも良かったのでは? あるいは、意味を明確にする意味で CStr(No)とか。

homma
質問者

お礼

回答ありがとうございました。 VBA初心者でインターネットで色々聞きながら勉強しています。 大変参考になりました。

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

文字として処理出来ないかな? Print #1, No; Chr(9); Intime; "/"; OutTime; Chr(9); text ↓ Print #1, format(No,"@"); Chr(9); format(Intime,"@"); "/"; format(OutTime,"@"); Chr(9); text 試してません。

homma
質問者

お礼

回答ありがとうございました。 問題なく半角スペースが取れました。 因みに、format(No,"@")の意味を教えてもらえないでしょうか。 お願いします。

関連するQ&A