
ある場所に比較するCSVファイルを2個格納しております。
ただしCSVファイル名は可変であります。
その場合 Set objTextA = objFSO.OpenTextFile("C:\" & "A.csv")と特定して呼び出せません。
名前が可変なときのため、そのパスにあるCSV2個を順に呼び出すにはどうすればよいのでしょうか。
また呼出し後、split関数により、配列に入れます。A配列とB配列に格納したとします。
一つ一つ比較していきたいのですが、
以下のような構文の場合、比較で違ったときテキストに書き込みとなりますでしょうか?
for i=0 to i=10 step 1
if strcomp(a(i) ,b(i))) = 1 then
テキストに書き込み
endif
next

No.1ベストアンサー
- 回答日時:
>名前が可変なときのため、そのパスにあるCSV2個を順に呼び出すにはどうすればよいのでしょうか。
フォルダ内の全ファイルから拡張子がCSVなものを検索するしか無いかと。
しかも、同じフォルダ内に別のCSVファイルがあるとちゃんと比較することが出来ないため、比較したいCSVファイル以外は無視するようにする必要があります。
http://officetanaka.net/excel/vba/tips/tips36.htm
ファイルの検索方法については上記あたりを参考に。
>以下のような構文の場合、比較で違ったときテキストに書き込みとなりますでしょうか?
For i = 0 to 10
If a(i) = b(i) Then
'書き込み処理
EndIf
Next i
大体合ってますが、こんな感じにした方がいいかと。
For文のStep 1については省略可能ですし、文字列の比較は=でも可能ですよ。
ただ、=での比較はアルファベットの大文字小文字が違うだけでも違う内容だと判断されるため、大文字小文字を問わずに比較したい場合はStrcomp関数を使った方が良いかも。
ちなみに、2つのファイルを読み込んだ配列の要素数が可変の場合はUBound関数を使うと良いですよ。
num = UBound(a)でnumの中にA配列の要素数が入ります。
同様に、num = UBound(b)だとB配列の要素数です。
No.2
- 回答日時:
先日、他の方も言っておられましたが、ちょっとは自分で調べたら?
VBScriptのリファレンスをちょろっと読むだけで出てくるような
低レベルな質問ばっかりなんですが。
こんなところで、たまたま親切な人が通りかかって
回答をくれるのを待つよりも、よっぽど早いし確実ですよ。
FileSystemObjectの GetFolder に対象のフォルダのパスを指定して
フォルダオブジェクトを取得します。
フォルダオブジェクトの Filesコレクション をFor Each で回せば
特定のフォルダ内のファイルをひとつづつ処理できます。
このとき、拡張子がcsvを判定して、ループを抜けるようにしないと
どうでもいいファイルも処理するので気をつけてください。
ま、そのフォルダ内のファイルは全部csvという前提なら別に構いませんが。
csvが3個以上あった場合とか、
実際の処理でファイルの入力順序を意識する必要があるのか?ないのか?とか
いろいろ気になる部分はありますが・・・
調べてからの確認です。
プログラム自体初心者なので、リファレンスを読んでも自分のやりたい関数はどれを使用すれば実現できるのかなどなかなかわからないわけです。
すいません。
CSVは2個限定なのですが、
読み込む順番はどうなるのでしょうか。どちらを先に読み込むかがきになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル内の(&H0A)を(&H0D0A)...
-
エクセルのプロパティーでセキ...
-
パワーポイントの文字数
-
エクセルvbaでdocuworksprinter...
-
エクセルで複数のコメントのサ...
-
動かなくなってしまった古いVBA...
-
ファイルサーバ上のファイルが...
-
CSV出力して、MS/EXCELで開くと...
-
同じファイル名 上書きしないフ...
-
Windows10でコマンドプロンプト...
-
VBA 最新のフォルダ取得
-
CSV形式での保存時に”文字列...
-
複数のテキストファイル内の複...
-
デスクトップの画像をhtmlに表...
-
エクセルのハイパーリンクがコ...
-
同一フォルダにある複数のテキ...
-
エクセルVBAで一つ上の階層...
-
RealSyncでデータを自動バック...
-
開いているファイルを削除し、...
-
API関数(DLL)の呼び出しにお...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルを後ろから読...
-
DXFファイルをVBで取り込み、図...
-
ファイル入力のデータを構造体...
-
バイト型のデータを16進表記で...
-
バイナリデーター内の文字を検索
-
ファイルの読みこみ方法とファ...
-
VBScriptの配列は、要素数を指...
-
フォートランのソース変更を試...
-
txtファイルの数字を計算
-
CSVファイルによる検索の高速化
-
日本語を配列に収め、そして表...
-
ファイルをメモリに出力する方法
-
RGBのバイナリデータをCImageに...
-
データグリッドビューの一覧に...
-
C or C++で2次元のデータの並び...
-
Cで2次元配列にCSVファイルを...
-
VBAでテキストファイルを複数開...
-
バイナリ出力
-
バイナリファイルでOutOfMemory...
-
バイナリファイルの一部分をカ...
おすすめ情報