• 締切済み

ログファイルの一部分を抽出する方法について

ログファイルをテキスト形式でインポートし エクセルのマクロを使ってログファイルのデータの一部を抽出する方法を教えてください。 ログファイルの例 20130301 xxxxxx\A123456xxxxxxxxx 出納ファイルxxxxxxxxxxxxx といったデータが5000件以上あるログファイルを下記のように ファイル名と社員コード、同一の社員が何回開いたかを集計したいです。 マクロ結果イメージ ファイル名 社員コード 開いた回数 出納ファイル A123456       2 出金ファイル A987456       2        出金ファイル A123456       1 文書管理ファイル A444444       2 対象ファイルが数個あるので、Excelで開き、VBA等で対応できればと思っています。 何か良い方法がありましたらご教示いただければ幸いです。

みんなの回答

回答No.1

伏字の部分が多く、ちょっとそのままでは難しそうです。 "xxxxxx\A123456xxxxxxxxx"の部分はパスなのでしょうか。 だとすれば、社員コードの直後に\記号が入りますか? 入らない場合、社員コードの長さは固定長ですか? 社員コードが出てくるまでの\記号の数が固定ならば、Split関数を使用すればどうにかなるかと思います。 【書式】Split(元の文字列 , 区切り文字) '返り値は配列になります 【例】 Dim tmp As Variant tmp = Split("\\xxxxxx\A123456\xxxxxxxxx", "\") 上記の場合、tmp(3)に社員コードが格納されます。 ※tmp(0)は最初の\の左辺=何もなし、tmp(1)は2番目の\の左辺=何もなし、tmp(2)は3番目の\の左辺=xxxxxxが入ります。 ファイル名の方に関しても同様で、"出納ファイルxxxxxxxxxxxxx"の伏字の部分がどうなっているのか、 抜き出したいファイル名は一覧化できるのかなどにより条件が変わります。 いずれにせよ、もう少し情報を公開して頂けると回答も集まりやすくなるかと思いますよ。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • フォルダ内全ファイルをシート毎に貼付方法について

    VBA仙人様ご教授お願い致します。 1フォルダに数十のログファイル(.txt)が格納されています。 1ファイルは3~5万行記述あります。 これを1つのExcelファイルにしたいと思っています。 VBA流れとして (1)ログ格納フォルダを選択 (2)ログファイル名を取得 (3)既存Excelファイルに(2)で取得したファイル名(.txt除いた)で順次シートを追加 (4)ログファイル=シートとなるようにファイル読み込み/貼り付け (5)ログファイルを閉じる VBAイメージ 格納フォルダ:C:\test \test内    :A001.txt,A002.txt,B003.txt・・・・・・・・Z051.txt(このフォルダにはログのみ格納) C:デスクトップ\集計マクロ.excel (VBAの記述のあるExcelシートにはSheet1のみが存在) VBA前 集計マクロ.excel/Sheet1 VBA実行後 集計マクロ.excel/Sheet1,A001,A002,B003,D004・・・・・・・・・Z051が追加、シート毎にログ情報記載 単一ファイルの読み込み/ファイル名をシート名に付与/情報コピペ/ファイル閉じについては、 作成できたのですが、複数ファイルの場合のファイル名を順次取得し、シート名として付与するなど objやValiant変数などで試行錯誤しましたが解決できず、こちらに質問されていただきました>< このVBAで作成されたシートからの集計マクロについては完成していますが、 その手前でつまづいています>< ご教授のほどお願い致します><

  • マクロでファイルを開くには・・・

    特定のフォルダにデータファイルを入れ、マクロによってそのデータの集計を行なっています。そのデータファイル名は通常 a_1 b_2 c_3 です。これをマクロで集計していますが、このファイル名が a_6 b_7 c_8 のようにファイル名が変わると、マクロが動作しないので、ファイル名を、a_1、b_2、c_3 に変更してから、マクロを走らせています。(数字のところはいつも同じではありません) aとbとcのファイルは一つづつ存在します。 番号を変更しないで、マクロを走らせるには、マクロをどのように修正すれば良いのでしょうか。よろしくお願いします。

  • VBAでログファイルを使って表をつくりたいです。

    Excelのマクロを使って、ログファイル「PPP.0413」というファイルを読み込み、表にして出力したいです。ファイルの中身は、 00201204110255******制御A ***** というようなものが50行あります。 00は無視、20120411が日付、0255が時刻、制御Aがプロセス名、****は無視 日付をセルA列に、時刻をセルB列に、制御AをセルCに出力 これを50行繰り返し行いたいです。 あとOpenで開いたときに化け文字になってしまうので文字変換コード?も指定したいです。 よろしくお願いします。

  • 複数のファイルを集計する方法

    アンケートの集計をしたいと思っています。アンケート結果はエクセルにて同一のフォーマットにて入力されており、それぞれ任意の名称で保存され一箇所のフォルダに置かれています。 集計ファイル上へデータが入力されているセルを選択し(フォーマットは全てのファイル同一ですが、連続データではなく、a1,c3等バラバラです。)自動でデータを抽出集計出来るようにしたいのですが上手くいきません。(ループ処理で引っかかっていると思います)スタイルとしてはA1から横方向にタイトルで下方向にデータが記載されているイメージです。 過去ログでは同一ファイルでシートの集計は見つかりましたが別個ファイルの集計が見つからなかったのでお伺いしようと思いました。ちなみに私のエクセル力は関数が一通り使える程度です。よろしくご教授お願いします。

  • EXCEL複数のファイルから指定されたデータを抽

    初めて、マクロ初心者です。 お手数をおかけしますが、助けてください。 条件(1)同じフォルダに 約200個のエクセルファイルがあります。 名前はバラバラです。 管理表を作りたいため、200個をコピーするのも苦痛でしたので、簡単なマクロはありませんか? 条件(2)シートの作りはすべて同じです。それぞれ15個のシートがあります。(お客様のデータを管理しているため。) 同じデータの部分を抽出して、新しいExcelブックに集計したいです。 例えば、 ファイル名0001、シート1のA1のセルで記載されている「文字」もしくは「数字」を新しいブックののA1にコピーして、ファイル名をB1記入したい。 ファイル名0002、シート1のA2のセルで記載されている「文字」もしくは「数字」を新しいブックののA2にコピーして、ファイル名をB2記入したい。 コピーすることは出来るマクロを教えてください。 順番はなく、ファイル名と集計したい「データ」が一致であればOKです。 よろしくお願いします。

  • ファイルメーカーでピボットテーブル集計はできますか?

    FMP超・初心者ものですが、どなたか怒らずに教えてください。 ファイルメーカーPro.6で、データをエクセルのピボットテーブルのように集計する事は出来ますでしょうか? 現在FMPには以下のようにデータが入っています。 店    商品名   売上数量  売上金額  月 越後屋  いちご    1     1,000    1 中村屋  めろん    1     3,500    1 小池屋  いちご    1     1,000    2 桔梗屋  めろん    1     3,500    2 (以下、何万行もデータは続く) これを、店別の月別の売上金額の合計表に集計したり      1月   2月   3月   4月 越後屋  35,000  10,000  15,000  20,000 中村屋  20,000  40,000  25,000  XXXXXX 小池屋  XXXXXX  XXXXXX  XXXXXX  XXXXXX  桔梗屋  XXXXXX  XXXXXX  XXXXXX  XXXXXX これを、店別の商品名毎の売上数量合計の表示にしたり      りんご  めろん  もも  さくらんぼ 越後屋   3    10   2    5 中村屋   X     X    X     X 小池屋   X     X    X     X 桔梗屋   X     X    X     X などと、ピボット集計したり、上の表のようにレイアウトを変えたり出来ますか? エクセルに書き出して、ピボット集計しようと思ったのですが、FMPのレコード数が莫大すぎて、エクセルに書き出しが出来ませんでした。 もしくは、FMPでエクセルと同じようなピボットをしようとしている事自体間違っているのでしょうか? 本当に初心者モノなのですが、今、とても行き詰まっています。どなたか教えてくださいませんでしょうか? よろしくお願いいたします。

  • 複数のエクセルファイルからデータ抽出とまとめる方法について。

    500のエクセルファイルがあり、それぞれのエクセルデータのA2からF2までのデータのをまとめた一覧表(1行目は、1枚目のエクセルファイルのA2-F2、2行目は2枚目のエクセルファイルの・・・、という感じでです)のを、新しいエクセルファイルもしくはテキストなどにでも手早く作れる方法をご存知の方、ご教授ください。コピペでやっていますが嫌になってしまいました。。マクロも触っては見たのですが、2枚目のエクセルファイルを2行目に、3枚目のエクセルファイルを3行目になどの方法の解決は思いつかず、挫折しました。よろしくお願いいたします

  • 複数のエクセルファイルを1つのエクセルファイルのシートにコピーをマクロ

    複数のエクセルファイルを1つのエクセルファイルのシートにコピーをマクロで行いたい。 マイドキュメントのデーターというフォルダ内に エクセルファイルA(シート名みかん) エクセルファイルB(シート名りんご) エクセルファイルC(シート名バナナ) エクセルファイルD(シート名ぶどう) エクセルファイルE(シート名いちご) があります。 雛形は同じです。すべてA列~F列までデータが入っています。 行数はファイルによって違います。 また毎日自動で上書き更新され、毎日行数が変わります。 エクセルファイルZがあります。シートが7個あります。 ・変換 ・集計 ・みかん ・りんご ・バナナ ・ぶどう ・いちご エクセルファイルZを開きます。(各シートには昨日のデータが貼り付けてあります。) マイドキュメントのデーターフォルダも開いておきます。 エクセルファイルZにおいて「マクロの記録」を起動。 エクセルファイルZの 【みかん】~【いちご】までの5シートを全データDELETEします。 開いてあるフォルダ「データー」の中からエクセルファイルAを開きます。 (タスクバーにいます) ファイルAのシート【みかん】の全データ選択して エクセルファイルZの【みかん】というシートのA1セルにカーソルを あわせて貼り付けします。 開いてあるフォルダ「データー」の中からエクセルファイルBを開きます。 (タスクバーにいます) ファイルBのシート【りんご】の全データ選択して エクセルファイルZの【りんご】というシートのA1セルにカーソルを あわせて貼り付けします。 これと同じ操作を【バナナ】【ぶどう】【いちご】も行います。 エクセルファイルZにおいて「マクロの記録」を終了させます。 マクロができあがりました。 ファイルZを上書き保存して終了。再立ち上げで記録したマクロを実行。 エラーにはなりませんが、ファイルZの5種類各シートに ファイルA~Eのデータが貼りつきません。 何か無理な事をしているのでしょうか? もしかしてシート名が同じだと駄目?とためしにファイルZのシート名【みかん】~【いちご】を 【みかんZ】~【いちごZ】に変更してマクロを再記録しても 駄目でした。 よろしくお願いします。

  • EXCELで複数ファイルのセル抽出マクロ

    EXCELで複数ファイルのセル抽出マクロ いつもお世話になっております。 首題の件ですが、複数のEXCELファイル約100個があるフォルダに入っています。 フォーマットは統一されていますが、記載してあることは別です。 特定のセルの内容を抽出し、別のEXCELブックに保存したいと考えております。 例) パス-D:\集計\ ファイル名-統一されていません シート名-アンケート(統一している) 抽出したいセル-A1:A10とC10:C20(結合されているセルもあります) できれば保存するEXCELブックに抽出したA1の全集計結果をA1に、 抽出したC10の全集計結果をC10に保存したいのです。(1ファイルずつ改行を入れて) マクロを検索して調べてみたのですが、自分の環境に合わせてみるとうまく動かなく、 (単に私の勉強不足ですが・・・)お手上げ状態です。 皆様、宜しくお願いします。 また、厚かましく下記にも別件で質問をしております。 お力添え頂ければ幸いです。 http://okwave.jp/qa/q6170791.html

  • 同一ファイルにある複数の一つにまとめる方法

    エクセル2013を使用しています。 既出の質問かもしれませんが調べている時間があまりないため、 どなたかご教授いただけますでしょうか。 こんなことが可能かどうかはわからないのですが、ご回答いただけると幸いです。 一つのファイルの中に、毎日集計をとっている31個のBOOKが入っています。 ファイル名は、「2014.07.01大阪(1)」、「2014.07.02大阪(1)」というように31種類の日付で作成をしてあり合計で31つあります。 集計というBOOKをつくっておき、ここに32個のシートを作成します。 シート名は「2014.07.01」「2014.07.02」と日付を続け、一番最初には「集計」シートがあります。 作りたいマクロが、 2014.07.01大阪(1)のデータは2014.07.01のシートに 2014.07.02大阪(1)のデータは2014.07.02のシートに これを31日分、シート全体を貼り付けたいのです。 各BOOKにはシートが複数あり、Sheet1のみ貼り付けたいです。 なおかつ、計算式が入っているため、値にして貼り付けれれば理想的です。 よろしくお願いいたします。 わかりにくいかもしれませんが、よろしくお願いいたします。