• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数のフォルダに保存されているファイルの検索)

複数のフォルダに保存されているファイルの検索

HohoPapaの回答

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (454/692)
回答No.8

乗りかかった船なので、 >フォルダの文言が「成績表」「成績書」 >「試験成績表」等有ることも分かりました。 に対応し、 更にアルファベットの大文字小文字の区別もしないようにしてみました。 Option Explicit Const tgDir = "\\Srv01\・・・\部\課\チーム\☆成績書" '//-------------------- Sub Sample()    Dim startCell As Range  Dim maxRow As Long  Dim maxCol As Long  Set startCell = Cells(2, 3)  'このセルから出力し始める  startCell.Select  '出力先シートをクリア  maxRow = startCell.SpecialCells(xlLastCell).Row  maxCol = startCell.SpecialCells(xlLastCell).Column  Range(startCell, Cells(maxRow, maxCol)).ClearContents    Call getFileList(tgDir, "1.成績表")  Call getFileList(tgDir, "1.成績書")  Call getFileList(tgDir, "1.試験成績表") End Sub '//-------------------- Sub getFileList(searchPath As String, PicDir As String)  Dim FSO As New FileSystemObject  Dim objFiles As File  Dim objFolders As Folder  Dim separateNum As Long  'サブフォルダ取得  For Each objFolders In FSO.GetFolder(searchPath).SubFolders   Call getFileList(objFolders.Path, PicDir)  Next  'ファイル名の取得  For Each objFiles In FSO.GetFolder(searchPath).Files    separateNum = InStrRev(objFiles.Path, "\")    If StrConv(StrConv(Right(Left(objFiles.Path, separateNum - 1), _      Len(PicDir)), vbWide), vbUpperCase) = _      StrConv(StrConv(PicDir, vbWide), vbUpperCase) Then    'セルにパスとファイル名を書き込む    ActiveCell.Value = Left(objFiles.Path, separateNum - 1)    ActiveCell.Offset(0, 1).Value = _      Right(objFiles.Path, Len(objFiles.Path) - separateNum)    ActiveCell.Offset(0, 2).Value = FileDateTime(objFiles)    ActiveCell.Offset(0, 3).Value = Format((FileLen(objFiles) / 1024), "#.0")    ActiveCell.Offset(1, 0).Select   End If  Next End Sub

akira0723
質問者

お礼

ひえ~ まさかの改良版!! 昨日までの結果を昨夜確認して、朝一でBA選定して閉め切ろうと思って今開けてみたら改良版が入っていました。 結局何度も複数のコードを作ってもらうことになってしまい申し訳ありませんでした。 せめて最初から「最後の条件まで」を提示出来ればよかったのですが、無知故いつもの通り追加の質問になってしまい申し訳ありませんでした。 このコードは未確認ですが、間違いないと自信が有りますので???一旦締め切らせていただきます。 万が一の時は別の質問として投稿しますのその節にもよろしく願いします。

関連するQ&A

  • フォルダー内のファイルの数をカウントしたい

    Win7とMS Officeの組合せで、別々の階層内にあるファイルの数を数えたいのですが。 具体的には「部署名」⇒「アルファベット、50音別」⇒「品種別」⇒「品質」というフォルダー構成が有って、その最下層の「品質」フォルダーの中にあるファイルの中で、ファイルの作成日の期間を指定して、品種別の「品種」フォルダーの中のファイルの数を知りたいのですが。 例えば”A123”という品種や”B123"という品種・・・・等々約300品種あって、各品種のフォルダーの中の「品質」というフォルダーの中に保存されている、2014年~2016年の間に作成されたファイルの数を知りたいのです。 具体的な結果としては、”A123"という品種の「品質」フォルダーの中のファイル数は10個、”B123"の「品質」フォルダーの中にはファイルが50個、・・・というように品種毎の「品質」フォルダーの中の(直近)3年間分のファイル数を知りたいのですが。 自分の常識、知識ではとても出来ないと思うのですが、何とかなれば非常にありがたいので質問させていただきます。

  • エクセルで指定フォルダ内の増加ファイルの一覧を作る

    いつも大変お世話になっております。 この質問はエクセルで可能かどうかも当方には不明な課題です。 また可能だとしても当方で実行できないような高度な知識が必要ならあっさり諦めるつもりの投稿です。 サーバ上の特定のフォルダ内に不定期で新規のフォルダが作成され、その中にPDFファイルが保存されていきます。 その新規に保存されたPDFファイルのフルパスとファイル名をエクセルシートの最下行に追加していくことはできるのでしょうか? フルパスにはファイル名も入るのでパスだけでもOKです。 具合的な作業としては、エクセルシートのB列に複数の顧客フォルダのフルパスを下方向に記入していきます。 そのフォルダに新規のフォルダ(名称不明)が出来たら別のシートのB列に新規にできたファルダのフルバスとC列にPDFファイルのファイル名を最下行に追加していく。 作業内容はサーバー上のフォルダに顧客別のフォルダがあり、その中に製品名別のフォルダがあります。 新製品が出来たらその顧客別フォルダ内に新製品の品名フォルダーを作成して当該製品に関する品質データをPDFファイルで保存し行くことになっています。 この新製品のPDFファイルをエクセルにリストアップして、リンクを貼る作業を半年に一度やっています。 新規に増えた分を探すのが手間で抜けがあるハズと思っています。 どの顧客フォルダに新製品のフォルダが新規作成され、その中のPDFファイルの名前をVBAで一覧表にすることが出来ればかなり作業が効率化されるのですが。 更には新規顧客からの仕事の場合は顧客別フォルダが増設されることになるのですが、これは数が少ないので先ずは既存の顧客フォルダ内に増加した品名フォルダのパスとその中のPDFファイル名までが抽出出来れば非常に助かります。 当方の理解を超えた要求なので必要な条件が抜けているかもしれませんがご容赦。

  • フォルダが無くなる。

    教えてください。Win7、ワード2010なのですが、ワードのファイル保存用に2段階のフォルダを作成しファイル管理しています。 例えばドキュメント内に作成した『日本』というフォルダの中に『北海道』、『東京』、『沖縄』というフォルダを設定しています。作成したワードデータは、データ毎にそれぞれの県別フォルダの中に保存しています。 これを、エクスプローラーからドキュメントを選び、その中の『日本』のフォルダを開くと、本来なら県別フォルダが表示されるはずなのに、県別フォルダが無く、それぞれの県別フォルダ内に保存していたファイルが一覧で表示されているのです。保存する時には2段設定のフォルダに保存しているのですが、さて何故このようになるのでしょうか。ファイルを探しにくくて仕方ありません。どうぞよろしくです。

  • 複数のファイルを複数のフォルダから検索する方法

    WinXP環境のPCです。 PDFファイルを100個ずつ、30以上のフォルダに分けて蓄積してまして(すなわち3000個以上のPDFファイル)、Windows Explorerで必要に応じてファイルを目視で見つけてクリックして開いてます。 1つならたいした手間ではないのですが、10も20も開かなければならないときは非常に面倒くさいです。 そこで、例えばxlsやcsvの表中から10個ぐらいのファイル名をcopy&pasteすれば、そのファイルをフォルダの中から選択、あるいは開いてくれるようなソフトはありませんか? Windowsに付属の検索システムは1つのファイルしか指定できず、用を成しません。 どなたかいい手段をご存知ありませんか?

  • Outlookのフォルダーへの保存

    Wordで書類を作成した後、直接Outlookのフォルダーに保存したいのですが、どうすればよいでしょうか。 今は、Word書類を一度My Documentに保存し、それをOutlookのフォルダーに引っ張ってきてコピーし、My Documentフォルダーは消すと言う作業をしています。保存するたびに2度手間なので、直接Outlookのフォルダーに保存できたらとおもっています。 Outlookでは保存カテゴリー別にフォルダーを作成し、そのカテゴリーに関するメイル、Word書類、pdf書類などもろもろのものを整理しています。

  • 複数のPDFファイルを一つにまとめたいのですが

    お世話になっております。 掲題の件で質問させて頂きます。 複数あるPDFファイルを一つにまとめたいと考えています。 しかしAcrobatのバージョンは5.0で、 現環境にフリーソフト等のダウンロードは出来ません。 複数あるPDFファイルはそれぞれ別のフォルダに保存されています。 下記のようなイメージです。 Aフォルダ  001.pdf  002.pdf Bフォルダ  001.pdf  002.pdf Cフォルダ  002.pdf それぞれ別々のフォルダに保存されているpdfファイルを 同名のPDFファイル同士のみで結合させ、保存したいのですが どのように行えばよろしいのでしょうか? バージョンが古いため色々制限が多いのですが ご存知の方いらっしゃいましたらご享受ください。 よろしくお願いいたします。

  • AcrobatでのPDFファイルの保存先

    特定のフォルダに複数のWord文書ファイルがあります。 これををAdobe Acrobat X1で個別のPDFファイルを作成して、できれば同じフォルダか又は、特定の別に指定したフォルダーに自動的に保存するような設定はできませんか?

  • 同時に複数フォルダに保存したい

    特定のフォルダにファイルを保存すると、自動的に(あらかじめ設定しておいた)別のフォルダにも保存させるという事は可能でしょうか? ワードで作ったファイルを「文書」というフォルダに保存すると、自動的にUSBメモリ内の「文書」フォルダにも同じ内容で保存するという事です。 どのように設定すればよいでしょうか? それぞれ個別に「名前を付けて保存」すれば良いのでしょうが、面倒なので一度の操作で何とかならないかと思っています。 よろしくお願いします。

  • フォルダ毎にファイルを仕分ける

    お世話になります。今1つのフォルダの中にtxtファイルとPDFファイルとgif、jpgファイルがたくさんあります。そのファイルをファイル名毎に新規フォルダを作成して、おのおのフォルダへ仕分けしたいのですが、自動でフォルダを作成し、ファイルを仕分けてくれるフリーソフトはありませんでしょうか? ○○.PDF、○○.txt、○○.gifを○○フォルダを新規作成し、中へ入れる、という具体なのですが、フリーソフトなどありましたら教えてください。よろしくお願いします。

  • キーワードによる、フォルダー内ファイル一括検索

    ExcelやWordファイルが大量に収められているフォルダーがあります。 そのなかのすべてのファイルについて、あるキーワードを含む箇所を検索し、一覧表を作成したい。 その一覧表には、キイワードのあるページを参照するためのハイパーリンクがなされている。 そういう一覧表を出来るだけ少ない手数で作りたい。 いい方法はありませんか?