Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10352 / 13644 ツリー ←次へ | 前へ→

【22333】指定した更新日付以降のファイルを検索する ぼん 05/2/16(水) 16:02 質問[未読]
【22334】Re:指定した更新日付以降のファイルを検索... IROC 05/2/16(水) 16:29 回答[未読]
【22336】Re:指定した更新日付以降のファイルを検索... Jaka 05/2/16(水) 16:46 回答[未読]
【22337】Re:指定した更新日付以降のファイルを検索... ぼん 05/2/16(水) 16:59 お礼[未読]
【22339】Re:指定した更新日付以降のファイルを検索... Jaka 05/2/16(水) 17:13 回答[未読]

【22333】指定した更新日付以降のファイルを検索す...
質問  ぼん  - 05/2/16(水) 16:02 -

引用なし
パスワード
   こんにちは。VBA初心者です。

特定のディレクトリ配下にあるファイルを検索する際に
更新日時が2004/3/31以降のファイルのみを検索し、
ファイルを別フォルダにコピーするようなマクロを作成したい
と考えています。
検索するファイル名は "定期検診.xls”という文字を含むものを
対象にしたいと考えています。

上記のような処理を行うマクロの作成方法をどなたか
教えていただけるようお願いいたします。

【22334】Re:指定した更新日付以降のファイルを検...
回答  IROC  - 05/2/16(水) 16:29 -

引用なし
パスワード
   Dir関数で特定のディレクトリ配下にあるファイル名を取得し、
FileDateTime 関数で日時を取得して
2004/3/31以降のファイルかどうか判定してください。

【22336】Re:指定した更新日付以降のファイルを検...
回答  Jaka  - 05/2/16(水) 16:46 -

引用なし
パスワード
   こんにちは。

これで一応ファイル名と更新日が取得できますから、IF文などで振り分けてください。
尚、ファイルの移動については、
[#9577]

Sub ABC()
        '↓ 参照したいフォルダパスに直してください。現在デスクトップ。
  FlDPass = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\"
  FilNm = Dir(FlDPass)
  Do Until FilNm = ""
    If FilNm Like "*.xls" Then
     i = i + 1
     Cells(i, 1).Value = FilNm
     Cells(i, 2).Value = FileDateTime(FlDPass & FilNm)
    End If
    FilNm = Dir()
  Loop
End Sub

【22337】Re:指定した更新日付以降のファイルを検...
お礼  ぼん  - 05/2/16(水) 16:59 -

引用なし
パスワード
   ▼Jaka さん、IROCさん、

ありがとうございます。
試してみます。

1点質問なのですが、下記の部分はセルにファイル名と
ファイルの更新日付等を記載するようにしているのでしょうか??


>     Cells(i, 1).Value = FilNm
>     Cells(i, 2).Value = FileDateTime(FlDPass & FilNm)


>
>これで一応ファイル名と更新日が取得できますから、IF文などで振り分けてください。
>尚、ファイルの移動については、
>[#9577]
>
>Sub ABC()
>        '↓ 参照したいフォルダパスに直してください。現在デスクトップ。
>  FlDPass = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\"
>  FilNm = Dir(FlDPass)
>  Do Until FilNm = ""
>    If FilNm Like "*.xls" Then
>     i = i + 1
>     Cells(i, 1).Value = FilNm
>     Cells(i, 2).Value = FileDateTime(FlDPass & FilNm)
>    End If
>    FilNm = Dir()
>  Loop
>End Sub

【22339】Re:指定した更新日付以降のファイルを検...
回答  Jaka  - 05/2/16(水) 17:13 -

引用なし
パスワード
   ▼ぼん さん:
>1点質問なのですが、下記の部分はセルにファイル名と
>ファイルの更新日付等を記載するようにしているのでしょうか??
>>     Cells(i, 1).Value = FilNm
>>     Cells(i, 2).Value = FileDateTime(FlDPass & FilNm)

FilNmとFileDateTime(FlDPass & FilNm)の中身が、目で見えた方が解りやすいだろうと、セルに書き込んでみました。

10352 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free