• ベストアンサー

指定したフォルダ内の最新ファイルのみをコピー

WinXP Pro × VB6 指定したフォルダ内で「更新日時」が最新のファイルの名前を取得するにはどのようにすればよいでしょうか? ファイル名がランダムのため、困っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

FileSystemObjectのFileオブジェクトのDateLastModifiedプロパティを参照するようにしてみてはいかがでしょう dim fso, fol, fc, f dim col as new Collection Set fso = CreateObject("Scripting.FileSystemObject") Set fol = fso.GetFolder(フォルダーパス) Set fc = fol.Files for each f in fc if f.DateLastModified > "2007/4/30" then col.Add f.Name end if next といった具合で ...

freednia
質問者

お礼

ありがとうございます。 参考にさせていただき、以下のようにやってみました。 Dim fso, fol, fc, f1, f2 Set fso = CreateObject("Scripting.FileSystemObject") Set fol = fso.GetFolder(フォルダパス) Set fc = fol.Files For Each f1 In fc If IsEmpty(f2) = True Then Set f2 = fso.GetFile(f1) End If If f1.DateLastModified > f2.DateLastModified Then Set f2 = fso.GetFile(f1) End If Next MsgBox f2.Name

関連するQ&A

  • VBAで複数のフォルダから最新のファイルを検索してコピーするには?

    はじめましてこんにちは!エクセルを少しいじり始めた者です。 エクセルのVBAで複数のフォルダから最新更新日のファイルを検索して特定シートのセルD1からF20までをコピーして貼り付けるにはどのようにコードを書いたらいいのでしょうか?具体的に申し上げますと、ある特定のフォルダの中に複数のフォルダが入っており、複数のフォルダにはそれぞれ同じ名前の後に日付が入っていて、さらにその中には同じファイル名の後に日付が付いているファイルがあります。(「日本」フォルダの中に「日本200401」、「日本200402」、「日本200403」フォルダが入っていてさらにそれぞれのフォルダ内には「全国200401」」、「全国200402」、「全国200403」みたいな感じでフォルダ名と同じ日付が付いたファイルが入っています。) その複数のフォルダの中から最新更新日時のファイルだけを開いて特定のシートからデータをコピーして貼り付けるにはどのようにコードを記述したら良いのでしょうか?

  • VBA 最新ファイルをコピーし名前変更 Excel

    いつもお世話になっております。 今回やりたいことは、 ●指定フォルダの中にある全てのファイル名、更新日時を取得(自ファイル以外) ●シートに記述 ●最新ファイルをコピー ●コピーしたファイル名称を変更 ※ファイル名の数値部分のみ変更 になります。 例1)C:\TEST C:\TEST\TEST1.xls 更新日時2013/11/11 C:\TEST\TEST2.xls 更新日時2013/11/12 C:\TEST\TEST3.xls 更新日時2013/11/14 ⇒C:\TEST\TEST4.xls を作成 例2)C:\TEST C:\TEST\2013TEST11_11.xls 更新日時2013/11/11 C:\TEST\2013TEST11_17.xls 更新日時2013/11/15 C:\TEST\2013TEST11_19.xls 更新日時2013/11/18 ⇒C:\TEST\2013TEST11_20.xls を作成 例3)C:\TEST C:\TEST\TEST1(2013_11_11).xls 更新日時2013/11/16 C:\TEST\TEST2(2013_11_15).xls 更新日時2013/11/21 C:\TEST\TEST3(2013_12_01).xls 更新日時2013/12/01 ⇒C:\TEST\TEST4(2013_12_11).xls を作成 Inputboxが出てきて、 数値の部分のみ変更ができるというのでも良いのです。 最新ファイルを取得し、コピーして名前を変更がしたいのです。 できれば、ファイル名の法則?に従って数値のみ編集したいと思っています。 やはり、難しいでしょうか? 回答よろしくお願い致します。

  • PHPで、指定フォルダ(サブフォルダ含む)内の更新日時が一番新しいファ

    PHPで、指定フォルダ(サブフォルダ含む)内の更新日時が一番新しいファイル名を取得したいです。 良いスクリプト記述はありますでしょうか。。。 ホームページのトップに最新の画像を自動で載せておきたいのです。 img/2005/***.jpg といった感じでimgフォルダ内に複数の年別フォルダがあり、 更にその中に画像ファイルが入っています。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • PHP
  • VBSでフォルダ内の最新のファイルを開く方法

    よろしくおねがいします。 あるフォルダ(固定)の中にある、.hogeというファイルのうち、最新のファイルを既定のプログラムで開きたいと考えています。 このフォルダには、.hoge 以外のファイルも混在しています。 既定のプログラムで開くには、 Dim WSH As Object Set WSH = CreateObject("WScript.Shell") WSH.Run """C:\開きたいフォルダ\最新のファイル.hoge""" このように書くことで動作確認できました。 1) フォルダ内で .hoge を列挙して 2) その中で一番更新日時が新しいファイルの名前を取得 この2点ができれば完成なのですが、どうすればよいかわかりません。 具体的な書き方を教えていただけますでしょうか。

  • サブフォルダを含めた最新のエクセルを取得したいです

    VBA初心者です。 ①サブフォルダを含めた最新更新日のエクセルファイルを取得したいです。 ②そして、最新更新日のエクセルファイルは、そのエクセルが入っていたフォルダの名前に変更し、別フォルダへコピーしたいです。 お手数ですが、ご教授ください。

  • フォルダ内の表示項目指定について

    エクスプローラでフォルダー内に保存しているファイルの、表示項目を統一させるにはどうすればよろしいでしょうか? 例)「最上フォルダの表示 - 名前/更新日時/サイズ」としている場合、最上フォルダ内にある下層のフォルダすべての表示を同じ「名前/更新日時/サイズ」とし、更にそれぞれのフォルダにあるファイルの表示も「名前/更新日時/サイズ」となるようにしたい。 保存しているデータをエクスプローラで表示させるたびに、「名前」以外は前回表示した項目と違う項目(アルバム/タグ/評価、など全く使用しない項目)が表示され、その度毎にいちいち表示項目を指定しなければなりません。 また、同じフォルダー内の下層にあるフォルダーの一つ一つを、再指定しなければなりません。 一度設定しておけば、それがそのまま記憶されるような機能はあるのでしょうか? よろしくお願いします。  

  • フォルダー内の最新更新エクセルファイル

    勤怠処理を行っています。 記録の方法は、各課や係別にフォルダーがあって、その中に社員が月毎に勤務時間をエクセルファイルで記録しています。 ¥**¥A部¥B課¥C係¥社員A¥12月.xls と言うような感じで構成されています。A部より下層はフォルダーが複数存在します。 この状態で、A部のフォルダーをユーザーが指定すると、下層のフォルダーを全て検索し、最下層の最新更新日の.xlsのフルパスとファイル名を取得して、それをシート上に表示したいのです。 フォルダー内全てのファイルの最終更新日を取得する方法は検索すると見つかります。それをいじって日付を比較して最新日を抜き出せばいいのでしょうが、コマンドの意味が判っていないので上手く行きません。 完全に「教えて君」で申し訳有りませんが、宜しくお願い致します。

  • エクセルVBAでフォルダ指定後、フォルダ内のファイル操作について

    あるフォルダ内に大量のフォルダ(フォルダ名は日時)があり、その各フォルダ内にテキストファイルが001.txt、002.txtとあります。 それぞれのテキストファイルの名前をフォルダ名(日時)とテキストファイル名を組み合わせたファイル名にしたいです。 イメージ)  最初に大元のフォルダを選択。     ↓  選択されたフォルダ内にある大量のフォルダから  それぞれのフォルダ名をフォルダ内のテキストファイルへファイル名を変更する。 例)フォルダ名「2006-08-28 11-30」   テキスト名「001.txt」   このファイルを「2006-08-28 11-30-001.txt」 みたいにしたいです。 非常にわかりにくいかもしれません。。 これができると非常に助かりますので、是非ご教示お願いします。

  • 【VB6】指定したハンドルのウィンドウがフォルダかどうか

    WinXP Pro × VB6 指定したハンドルのウィンドウがフォルダ(explorer.exe)かどうかを調べる方法がわかりません。 どなたか教えてください。

  • ファイル作成者名の取得

    VBで、ファイルの作成者名・更新者名・作成日時・更新日時を取得する方法を探しています。 作成日時・更新日時の方はAPIを使用すれば可能だと分かったのですが、 作成者名・更新者名の取得方法が見つかりません。 取得が可能かどうかも含めて、教えていただけませんでしょうか? よろしくお願いします。

専門家に質問してみよう