• 締切済み

ファイルの内容を検索を行うVBS

エクセルのA列に検索ワードがそれぞれ1つずつ入っています。特定のフォルダ内にある全HTMLファイルの中身を検索し、各検索ワードが1つでも含まれていた場合、そのファイル名をエクセルのB列の対応する行に記入していくというVBSを作成する事は可能でしょうか? 例えば 検索フォルダ:C:\\aa ___ A ______ B _________ 1__あい__ h.html,g.html,s.html 2__うえ__ i.html 3__おか__ j.html,e.html 4__きく__ 該当なし 5__けこ__ :___:    : 上の2行目の例だと、「C:\\aa」フォルダの中にある全HTMLファイルのうち「うえ」という文字列が含まれているファイル名がi.HTMLということになります。 つまり、A列を読み込んでB列に自動記入していくVBSです。 VBS初心者なもので、どなたかお分かりになる方がいらっしゃいましたら是非教えて頂きたいです。よろしくお願いします。

  • neoty
  • お礼率66% (8/12)

みんなの回答

  • benelli
  • ベストアンサー率51% (78/152)
回答No.2

まぁ、VBAでもVBSでも可能は可能ですよ。  初心者の方でも、FileSystemObject(参考URL参照)を使用すればなんなく作れるかと思います。

参考URL:
http://officetanaka.net/excel/vba/filesystemobject/index.htm
neoty
質問者

補足

ありがとうございます。できればプログラム例を記載して頂けると幸いです。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

エクセルVBAではなく、VBSで行いたい、ということでしょうか?

neoty
質問者

補足

エクセル内で行うのはVBSではなくVBAとなるのですね、混同していました。ただ上記の内容が行えるのであればどのような言語でも良いです。

関連するQ&A

  • WinXP エクスプローラで検索させるVBS教えて

    WindowsXPのエクスプローラで、検索コンパニオンを使って検索させるVBSの相談です。 ある文字列を含むファイルを検索させたいと思っていますが、検索対象のフォルダーが数十個ありますので、これをバッチ的に動かしたいと思っています。なお、会社で使いますのでフリーソフトはNGですがVBSはOKです。 WindowsXPでは検索した結果の保存はできないようですが、検索結果を取り出してファイル保存するVBSは探せました。 VBSで フォルダーを指定してエクスプローラを起動するところも出来そうです。 エクスプローラで現在開いているフォルダ配下から、ある文字列を含むファイルを検索させる部分をVBSで組みたいのでアドバイスをお願いします。できればコードで。それと、検索が終わったことを検知する部分も出来ればお教えいただきたいです。 ネットではかなり調べたつもりですが分かりませんでした。よろしくお願いします。

  • excelからwordのファイル名を検索してリンクを貼りたいのです。

    excelからwordのファイル名を検索してリンクを貼りたいのです。 1つのexcelファイルの中に数千行のデータが入っています。 そこから、excel1行に対して1つずつ、wordのファイル名にリンクを貼りたいのですが、 excelのデータとwordのファイル名で共通しているのは、excelにあるデータ(ABCDE)に対して、wordのファイル名は(CDEFG)と、全部が共通しているのではなく、3つだけ共通の文字列があるだけです。 (※各A,B,C,D,E,F,Gは文字列。A=日付、B=名前 など。)       関数でできるのか、マクロを組まなきゃいけないのか、それすらもわかりません。 こんな説明でわかりますか? マクロはほとんど初心者なので、詳しく教えて頂けると助かります。

  • VBSによるファイルコピー

    教えてください。 Aフォルダの中にファイルが3つ有るとします。 あ.jpg い.jpg COPY.VBS Aフォルダ内 COPY.VBS を実行すると、 あ.jpg→C:\ い.jpg→C:\PIC とファイルを異なる場所に移動したいのです。 上記の処理をする場合、Aフォルダがどちらか 決まった場所に置いて有る(C:\等)の場合は 解るのですが、実行者がAフォルダをどこに 置き実行するか解りません、VBSから見たときに 自分(vbs)と同じフォルダに有るファイル と言うパスで上記のファイル移動を実現する事は 可能でしょうか? 以上よろしくお願いします。

  • エクセルのシートから、ファイル検索に関して教えてください。

    エクセルのシートから、ファイル検索に関して教えてください。 ■エクセルの列に下記のような形で画像名が入っています。 a.jpg b.jpg c.jpg ↓ 500行程度 ■ローカルフォルダに1000枚程度 japgの画像が入っています。 以上のような状態で、ローカルフォルダのなかから、エクセルに記載してある 画像だけを取り出したいのですが良い方法はないでしょうか?

  • エクセル:マクロでの同名ファイル検索

    お世話になります。 あるフォルダの中に、たくさんフォルダが入っています。 子フォルダのファイルを全て親フォルダに移すのですが、同名ファイルがある可能性があります。 同名ファイルは枝番をつけるなどして処理するのですが、あらかじめ同名ファイルがあるかどうかを調べたいのです。 親フォルダの中にエクセルを入れておき、マクロの実行の結果、エクセルのシートに同名ファイルの情報を表示できればと思っています。 例)もし同名ファイルがあった場合、 まずセルA1にファイル名、B1に拡張子を表示する。123.xlsの場合 A1に123 B1に.xls そしてそのファイルが入っているフォルダ名をB2以降のB列に表示する。 3つのフォルダにA1のファイル名のデータがあれば、B2,B3,B4にそのフォルダ名が表示される。 もちろん同名ファイルが1組とは限りません。 2つ目以降はB列のフォルダ名が入った下の行のA列(上の例だとA5)にファイル名が入る。 この繰り返しです。 また、もし1つの同名ファイルがなかった場合は、A1に「同名ファイルなし」と表示させます。 ちなみに重複の場合の枝番の付け方に規則性がないため手作業で行いますが、枝番をつけて同名ファイルを無くした あとにまとめて親フォルダに全データを移すこともマクロで可能ならアドバイスください。 フォルダ構成は1つの親フォルダに対して複数の子フォルダで、孫フォルダはありません。 OSはWinXP、Excelは2002です。 よろしくお願いします。

  • EXELでの組み合わせ検索

    EXCELを想定してください。 3行目から30行目のA列からG列まで、各行毎に色々な文字がインプットされています。同じものがインプットされてることもありえます。 例えば、 3行目には AA AB BR NN NM AA BB 4行目には NN AA BB AC AA XP NM といったように。 一方、H1:J1 に 検索すべき組み合わせが指定されますと、その組み合わせのある行についてのみ、該当行ののHセルに 1 と記入され、そうでないときには空白にしたいのです。 例えば、上記の場合に、 H1:J1には AA AA AC と設定されれば、この組み合わせのある行は4行目ですから、 H3 は空白で H4 は 1  と記入するという具合に。 H列の各行にはどういう関数を入れればいいかお教えください。

  • VBSでのファイル一覧表示について

    VBSでの質問です。。。 フォルダをの中をファイルを一覧表示させるようにしたいのです。 会社-事業部-所属課-営業-A-社員-employee1.txt、employee2.txt・・             B-社員    C-社員 上はすべてフォルダです。A、B、Cの下のそれぞれの 社員フォルダ以下にあるテキストファイルを一覧で表示したのです。 A、B、Cの下のフォルダがすべて社員フォルダという同一フォルダ名に なっている部分をどのように指定していくかで悩んでいます。 ネットで検索してみると、「再帰呼び出し」という処理を行う というような記述もあったのですが、理解が追いつかず質問を投稿させていただきました。 どなたかご教示いただければと思います。よろしくお願いいたします。

  • エクセルVBAでワードの文字を検索して置換えたい

    エクセル置換表を基に、開いてあるワードの文書内を検索して、該当の旧番号があれば、新番号に置換えるVBAのプログラムを 教えていただけませんか。 また、参考になる書籍等があれば教えていただけませんか。  【実施内容詳細】 エクセル置換表を基に、開いてあるワードの文書内(ヘッダー、フッター含)を検索して、該当の旧番号があれば、新番号に置換える。 使用ソフト ワード エクセル 2003 使用ファイル名  A.doc B.xls ステップ1 ワードの文書内に旧番号A1がないか検索して、A1があれば、新番号B1に置き換える。 ステップ2 ワードの文書内に旧番号A2がないか検索して、A2があれば、新番号B2に置き換える。 ステップ3 エクセルA列の最後(空欄)まで実施して終了する。 エクセル置換表      A列  B列     旧番号 新番号  行2  A1    B1  行3  A2    B2  以下同様   追記: マクロを使用したことはありませんので事前設定方法も教えていただけませんか。 

  • EXCELの 編集 検索キーを使わず 検索したい

    EXCELの 編集 検索キーを使わず シート上で検索文字を指定して 検索された 全ての セルを表示したい。  第1表 CODEー名前表 CODEを探す A列 B列 C列 D列 1行 CODE 名前 CODE 2行 1001 あいうえお 1001 3行 1002 ああいうえ 1002 4行 1003 おあいうえ 1003 5行 1004 えおいうえ 1004 6行 1005 うえおあい 1005 7行 1006 うえああい 1006 第1表 CODEー名前表 から”あ”の含まれる全ての 名前 CODEを 第2表みたいに 作りたいのです 第2表 CODEを探す A列 B列 C列 D列 1行 検索する 名前 *あ* 2行 3行 検索された 名前 検索された CODE 4行 あいうえお 1001 5行 ああいうえ 1002 6行 おあいうえ 1003 7行 うえおあい 1005 8行 うえああい 1006 マクロを使わない方法で お願いします。 1:検索された 文字の足し算 2:文字の足し算をするごとに 1行増やす 3:改列 4:SUMPRODUCTで 文字の足し算は出来ますか?

  • VBSで、テキストファイルに対して、全体の途中に文字列を追加したい

    こんばんわ VBSについて質問です。 テキストファイルを開いて、文字列を追加するスクリプトを作成したいのですが、 以下のようなプログラムであれば、行の一番下に文字を追加できると思います。 ########ここから Dim objFS,objText,objFile Set objFS = CreateObject("Scripting.FileSystemObject") Set objFile = objFS.GetFile("C:\test\vbs\test.txt") Set objText = objFile.OpenAsTextStream(8,-2) objText.WriteLine("新しい行") Set objFILE = Nothing Set objText = Nothing ############ここまで しかし今やりたいのは分の途中に文字をいれたい。 たとえばテキストファイルが A B C D というファイルだったら、 "B"を検索して、Bの下に”新しい行”という文字列を追加したいです。 いろいろ調べましたがどうもうまくいきません。 わかる方ご教授願います。