• 締切済み

テキストファイルの件数カウントと照合

A.txt、B.txt、C.txt の3つのファイルがあります。 1日1回この3ファイルを結合してABC.txtと言う1ファイルにしています(その後別処理で使用)。 結合前(3ファイル)と結合後のレコード件数を照合したいのです。 やりたい事は、 件数が合っていれば、「処理した日にち」「件数」「件数合ってます」 件数が違っていたら、「処理した日にち」「結合前合計件数」「結合後件数」「件数違っています」 をaaa.@bbb.co.jp宛てにメール配信させたいのです。 自分なりにいろいろと調べては見ましたが、VBの知識もほとんど無いため出来ません。 コーディングをご教授いただけるとありがたいです。 よろしくお願いいたします。

みんなの回答

回答No.1

前提条件として、どういった環境で作成したいのでしょうか? VBカテなのでVBだとは思いますが、VBA、VB6、VB.NET(2003-2008)と種類がいろいろあります。 >A.txt、B.txt、C.txt の3つのファイルがあります。 >1日1回この3ファイルを結合してABC.txtと言う1ファイルにしています>(その後別処理で使用)。 >結合前(3ファイル)と結合後のレコード件数を照合したいのです。 レコード件数ってどう判別するんでしょうか? ファイルの内容と形式がわからないと回答のしようがありません。 (そもそも結合前と結合後でデータがかわるってのも考えにくい)

関連するQ&A

  • 大量のCSVファイルの各レコード件数を調べるには?

    CSVファイル(約150個)を結合した上であるツールで 処理をしたいのですが、結合前後でレコード件数が同じか どうか調べる必要があります。 結合前のファイルを一つずつ開くのは時間がかかるので、 何かいい方法はないでしょうか? (VBやACCESSは使えないので、フリーソフトか何かを  紹介頂けると助かります)

  • VBでテキスト形式のファイル名称から拡張子を取りたい

    みなさんこんにちは^^ ちょっと困っています。 VB6でコーディングを行っていますが 取得したファイル名称を一旦ワークに落として それを出力ファイル名に利用したいのですが、 拡張子が邪魔をして上手く行きません。 何か拡張子を取るような方法があれば教えて頂きたいのですが! 例)入力ファイル名称 → 変換 → 出力ファイル名称   AAA.TXT AAA_001.TXT BBB_001.TXT BBB_001.TXT

  • VB.NETでテキストファイルからHTMLファイルを動的に生成したいの

    VB.NETでテキストファイルからHTMLファイルを動的に生成したいのですがどのようにやればできるかヒントをいただけないでしょうか? とあるフォルダに下記のようなファイルがあるとします。 20100101AAA.txt 20091008AAA.txt 20100202AAA.txt 20070707AAA.txt 20100412AAA.txt また、ファイルの中身は <div id = 'AAA'>それぞれのファイルの内容</div> <div id = 'BBB'>それぞれのファイルの内容</div> です。 まず、ファイル名から日付を解析して新しい順番に並べるアルゴリズムを考えたいのですがどのようにしたらいいか困っています。 また、並び変えたファイルを動的に合成して一つのHTMLを作りたいのですがどのようにしたらいいのでしょうか? 詳しい方よろしくお願いします。

  • diffコマンドにてテキスト出力

    こんばんは。教えてください! 以下のような2つのファイルがあるとします。 ・aaa.txt abc111 abc222 abc333 ・bbb.txt abc333 abc444 これを比較して、比較結果をテキスト出力したいです。 テキスト出力したい比較結果は (1)重複しているもの全てテキスト出力 (2)aaa.txtのみにあるものをテキスト出力 (3)bbb.txtのみにあるものをテキスト出力 また、(1)~(3)は別々のファイルに出力したいです。 diffコマンドで、 diff a.txt b.txt >> c.txt とすると、 1つのテキストファイル(c.txt)に (1)~(3)すべてが書かれてしまいます。 環境は、windows XPにてCygwinを使用しています。 diffコマンドでなくても構いません。 宜しくお願いします。

  • テキストファイルの一部置換したファイルをたくさん作りたい

    テキストファイル(a.txt)があるのですが このファイルの一部の文字列aaaをbbbに置換したファイル(b.txt)を作りたいです。 また文字列aaaをcccに置換したファイル(c.txt)も作りたいです。 続けてd.txtやe.txt・・・と作っていきたいですが簡単にできるフリーソフトはないでしょうか? 現状はa.txtを開いてaaaをbbbに置換して、別名で保存するのを繰り返し(10回以上)するので大変です。 このようなことが楽にできるフリーソフトがあれば教えてください。

  • バッチファイルのエラー処理

    困っています。 下記の様な3つで1セットのコピーをバッチで行いたいと考えています。 ◇1 c:\aaa.txt d:\a:\aaa.txt c:\aaa.txt d:\B:\aaa.txt c:\aaa.txt d:\C:\aaa.txt ◇2 c:\bbb.txt d:\a:\bbb.txt c:\bbb.txt d:\B:\bbb.txt c:\bbb.txt d:\C:\bbb.txt ここで、エラー処理を加えて、 c:\aaa.txt d:\a:\aaa.txt がエラーになったら c:\aaa.txt d:\B:\aaa.txt c:\aaa.txt d:\C:\aaa.txt の処理をスキップし、別ファイルに「aaa.txtのコピーを中止しました」と書込み次のファイル「c:\bbb.txt」のコピーを行う。 何度試しても、うまく動きません。 って言うか全然だめです。 誰か教えてください。お願いします。

  • 複数のテキストファイルを1つにまとめる

    同一フォルダ内にある複数のテキストファイルの内容を1つにまとめる方法を探しております。 例えば、 a.txt, b.txt, c.txt が同一フォルダにあり、 それぞれの内容が AAA BBB CCC である時に、これらをまとめて matome.txtとして、その内容が AAA BBB CCC となるようなプログラムを書きたいのですが、どの様な方法が考えられますでしょうか。 上の例では3つのテキストファイルですが、実際に処理したいファイルは数百個になる為、一つ一つファイル名を入力する作業が大変で困っております。 同一フォルダ内のファイルをファイル名順に一度に読み込み、まとめる方法がありましたらお教え下さい。

  • テキストファイル操作

    VB6ですが、Aというフォルダに書き込まれた050416110311AAA.txt(050416110311は書き込まれた時間で違う)ファイルをBというフォルダのAAA.txtに追加書き込むやり方教えて頂きますか?

  • ファイルを共有したい

    こんにちは。 自分のローカルドライブのファイル構成を変更したら自動的にネットワークドライブのファイル構成も変更できるようにするにはどうしたらよいでしょうか? 例えば、 C:\AAA(ローカル)とN:\BBB(ネットワーク)があって C:\AAA\abc.txtを追加 → N:\BBB\abc.txtが追加される というような感じにしたいのですが。

  • 照合に関するプログラムについて

    2つのファイルを用意して1つが以下のaaa.txtのような数値が記述されているファイルで、もう1つがbbb.txtのようなファイルでこの中の2列目には、aaa.txtに記されている数値が含まれています。 -------aaa.txt------- -------bbb.txt------- 1.4 XMS 2.5 2.5 XMS 2.7 2.7 XMS 1.1 2.1 XMS 1.0               XMS 2.1 XMS 1.4 aaa.txtとbbb.txtそれぞれのテキストないで数字のダブリはない。bbb.txtはaaa.txtの数字をすべて含む。 aaa.txtに記述されている数値を利用して、bbb.txtの2列目で同じ数値を示すものをその数値がある行ごと取り出し、行末にnameという文字を出力し、bbb.txtの数値がaaa.txtのどの数値とも異なればそのままその行を出力するようなプログラムを書きたいと考えました。そこで、下記のようなプログラムを書いて実行したところ、こちらの意図した出力(ccc.txt)が得られませんでした。なぜ、cccのような出力にならなかったのかがわからなくて非常に困っています。どなたかこのプログラムの誤り又はもっと良い書き方を教えていただけないでしょうか。回答よろしくおねがいします。 ------------ccc.txt---------------- XMS 2.5 name XMS 2.7 name XMS 1.1 XMS 1.0 XMS 2.1 name XMS 1.4 name -----プログラム-------- #include<stdio.h> #include<string.h> int main(int argc ,char *argv[]) { FILE *fp[argc],*gp; char x[30]; int linemax,ret; double distance; int i=0; char command[30] = "wc "; char *re="> Nline.txt"; char file1[25],file2[25],file3[25],*ends;  strcat(command,argv[2]);  strcat(command,re);   system(command);  gp=fopen("Nline.txt","r"); fscanf(gp,"%d%s%s%s",&linemax,file1,file2,file3);   system("rm Nline.txt");  fp[0]=fopen(argv[1],"r");  linemax=linemax-1; while(fscanf (fp[0],"%s %lf",x,&distance==9){ while(fscanf(gp,"%lf",&dis)==1){  if(dis==distance){   printf("%s %lf name \n",x,distance);   i=0;   }else if(dis!=distance && i==linemax){    printf("%s %lf \n",x,distance);   i=0;   }   i++; }rewind(gp); } fclose(gp); fclose(fp[0]); return 0; }

専門家に質問してみよう