[[20171119081222]] 『FSOで作成したファイル名に半角スペースが入ってax(lipofine) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『FSOで作成したファイル名に半角スペースが入ってしまいます。』(lipofine)

Excel2010のVBAについてお教えください。

FileSystemObjectを使用して、
Excelデータをテキストファイルに書き出し
複数のテキストファイルを作成しました。

その際テキストファイルの名前には
[数字コード]と[連番]を付与していったのですが
そのファイル名のなかに連番の前に半角スペースが
入ってしまうものがあります。
たとえば、下記の□の部分に半角スペースが入ります。

11111_5□_7

□の前は[数字コード部分]で、□の後ろが[連番]です。
桁数はどのファイル名も同じです。

[数字コード]はもともとExcel上に存在しており、
VBA内でCOUNTIFを使い、重複していた個数(連番)を
Excelデータ最後尾の列に書き出し、
書き出した列のうえに[数字コード]と[連番]を
数字コード & "-" & 連番
でつなげたものを上書きしていっています。

それを
fso.CreateTextFile
でファイル名に入れていっています

Excelの最後尾列に出来たセル値として見たときは
□部分にスペースなど入っておらず
ファイル名となってでてきたものだけ、
スペースが入るものと入らないものが出来てきます。

なぜでしょうか…また、どのように回避すれば
よいのか、お教えいただけますと助かります。
何とぞよろしくお願いします。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


>スペースが入るものと入らないものが出来てきます。

再現性、規則性はありますか。
サンプルを提示できますか。

(マナ) 2017/11/19(日) 09:16


ハイフンなのかアンダースコアなのか混在しているようですが、
いずれにしても、それぞれの要素にTrim関数をつけてから連結すればよいと思います。

(γ) 2017/11/19(日) 09:30


ご回答ありがとうございます。
データを持ち出せないので出社して再度確認してきました。
半角スペースが入るものと入らないものがあると記載しましたが
大変申し訳ありません、すべてのファイル名に半角スペースが入ってしまっていました。
原因は結局不明のままでしたが、Trim関数でスペースを削除して
ファイル名とする方法で解決しました。 

ありがとうございました。
また何か質問が生じましたら何卒よろしくお願いします。
(lipofine) 2017/11/20(月) 23:20


 いまさらだが、数値をStr関数を使って文字列にしていないだろうか?
 Str関数を使うと数値の先頭に符号エリアがとられ、正の数値の場合は空白、負の数値の場合は-が表示される。
(ねむねむ) 2017/11/21(火) 15:54

 すまない。
 連番の前(アンダーバーの後ろ)に空白ではなく数字コードの後ろ(アンダーバーの前)にスペースが入るのか。
 だとしたら上の発言は的外れだった。
(ねむねむ) 2017/11/21(火) 16:00

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.