ある場所に比較する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も見ています
-
【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
ロボットの住む世界で流行ってる罰ゲームとは?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
VBScriptでCSVファイルを読み出したい
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Unicodeのファイル読み込みがう...
-
ファイルの読み込み
-
VBScriptの配列は、要素数を指...
-
グレースケール画像の画素値を得る
-
テキストファイルを後ろから読...
-
DXFファイルをVBで取り込み、図...
-
[VBS] 16進数でバイナリファイ...
-
BMPファイルの輝度を配列で表す
-
ファイルのアクセス回数について
-
エクセルのプロパティーでセキ...
-
エクセルで複数のコメントのサ...
-
エクセルvbaでdocuworksprinter...
-
カンマ区切りのCSVファイルから...
-
【VBA】ExcelマクロでCSVファイ...
-
エクセルVBAで一つ上の階層...
-
ExcelブックをGoogleスプレッド...
-
バッチファイル XCOPYで上書き...
-
Excel csv保存 列数が異なる場...
-
frxファイルの役目
-
Excel 相対パス
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バイト型のデータを16進表記で...
-
Cで2次元配列にCSVファイルを...
-
DXFファイルをVBで取り込み、図...
-
RGBのバイナリデータをCImageに...
-
バイナリファイルでOutOfMemory...
-
テキストファイルを後ろから読...
-
VBAでテキストファイルの改行を...
-
[VBS] 16進数でバイナリファイ...
-
ファイル入力のデータを構造体...
-
VBScriptの配列は、要素数を指...
-
C言語でのファイル読み込み
-
ファイルからビット単位での読...
-
グレースケール画像の画素値を得る
-
bmpファイルの明暗の数値化の方法
-
Excel VBAで画像解析
-
awk getlineをもう一度ファイル...
-
日本語混じりのファイルをラン...
-
CSVファイルによる検索の高速化
-
VBSにてCSV読み込みし比較
-
VBAでテキストファイルを複数開...
おすすめ情報