
タイトルの件、ご存じの方は教えて下さい。
フォルダAの中には、エクセル、ワード、PDFの複数のファイルが入ってきます
数は5~10個でランダムです。
そこから、どれでもいいので、1つだけのファイルを
Bフォルダへ移動するVBAご存じの方、教えて下さい。
出来たら、複数あるファイルから1つだけ移動する選定
基準は、更新日時が古いものを、移動したいです。
ご存じの方、宜しくお願い致します。
【フォルダAのパス】
C:\Users\2020\Desktop\フォルダA
【フォルダBのパス】
C:\Users\2020\Desktop\フォルダB
No.2ベストアンサー
- 回答日時:
No1です。
>Q13061880() の名前も関係あるんですか?
関係ありません。
変更する際に、何か別の部分も変えていたりしませんか?
>どのような練習をすれば出来るようになりますか?
私自身では、ほぼVBAを使いませんし独学です。
練習と言えば、ここの質問に回答してみるくらいです。
(それなりの練習にはなっているのかもしれません)
記憶もしていませんので、この回答を作成する際にも、M$DNで調べながら作成しています。
https://docs.microsoft.com/ja-jp/office/vba/api/ …
参考書を読んだことはありませんが、上記サイトはよく利用します。
ご質問の内容も、それだけを書けばさほどのものではないのですが、「指定フォルダが存在しない場合」、「コピー先に同名のファイルが既に存在する場合」なども考慮してゆくと、ほとんど必要ない(かも知れない)コードが増えて、思ったよりも長いものになってしまいました。
No.1
- 回答日時:
こんにちは
まともにやると、それなりに面倒ですね。
ざっと、こんな感じでしょうか?
Sub Q13061880()
Dim f, fo, dt As Date, i As Long
Dim fn As String, ex As String, tmp As String
Const pathA = "C:\Users\2020\Desktop\フォルダA"
Const pathB = "C:\Users\2020\Desktop\フォルダB"
With CreateObject("Scripting.FileSystemObject")
If Not (.FolderExists(pathA) And .FolderExists(pathB)) Then
MsgBox "指定フォルダが存在しません"
Exit Sub
End If
dt = Now + 1
For Each f In .getfolder(pathA).Files
If f.DateLastModified < dt Then
dt = f.DateLastModified
Set fo = f
End If
Next f
If Not fo Is Nothing Then
ex = "." & .GetExtensionName(fo.Name)
fn = Left(fo.Name, Len(fo.Name) - Len(ex))
tmp = .BuildPath(pathB, fn & ex)
i = 1
While .FileExists(tmp)
i = i + 1
tmp = .BuildPath(pathB, fn & "(" & i & ")" & ex)
Wend
.MoveFile fo.path, tmp
End If
End With
End Sub
ありがとうございます。ちゃんと動きました。
2つ質問です。
●マクロの名前を変更したら、うごきませんでした。
Q13061880() の名前も関係あるんですか?
●こんなにすぐおいVBAはどのような練習をすれば
出来るようになりますか?
⇒オススメの参考書とかありますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【VBA】フォルダAにある2つのファイルの内1つを、フォルダBへ。もう1つを、フォルダBへ移動したい 6 2022/07/26 08:51
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- Excel(エクセル) フォルダAからフォルダBへファイルを移動するVBAについて 1 2022/07/21 22:47
- Excel(エクセル) 【マクロ】ファイルを古い順に、1個ずつ移動する 1 2022/09/06 20:30
- Visual Basic(VBA) 【マクロ】フォルダにファイルが1つも無い時に、ファイルがありませんとメッセージを表示する 4 2022/08/28 08:48
- Excel(エクセル) 【VBAファイル移動】2つのマクロを順に実行。1つ目のマクロが実行不可⇒2つ目が実行不可となる件 2 2022/07/29 12:17
- Android VBA、フォルダのパスに環境文字 ㉑ があり、VBAが機能しません。 2 2022/07/27 09:16
- Excel(エクセル) 1つのファイルを複数のフォルダにファイル名を【明日の日付】にして、コピーしたい 5 2022/12/13 20:11
- Excel(エクセル) 2つのマクロを連続して動かしたい 3 2022/09/20 23:46
- Excel(エクセル) マクロのコードを、少しでも削って短くしたい 3 2022/08/30 07:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA フォルダの複数選択ができない
-
会社のネットワーク上のファイ...
-
【マクロ】ファイル名の日付に...
-
ファイル名と同名のフォルダを...
-
Windows10でコマンドプロンプト...
-
フォルダ内のPDFファイル名を変...
-
デスクトップの画像をhtmlに表...
-
VB.NRT FolderBrowserDialogを...
-
Debug フォルダは消していいの?
-
エクセルのマクロについて教え...
-
保存先のフォルダ名を指定した...
-
バックアップ(世代管理)機能...
-
フォルダAから1つのファイルだ...
-
META-INFフォルダの置き場所に...
-
ThisWorkbookがあるフォルダ更...
-
ファイル名に特定の文字列を含...
-
VBA 複数ファイルのシートを1...
-
msgファイルを扱いたい
-
条件に合うフォルダが存在する...
-
VBA:特定の文字を含むフォルダ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
パス名に2バイト文字(マルチバ...
-
デスクトップの画像をhtmlに表...
-
【マクロ】ファイル名の日付に...
-
C ファイル出力で、フォルダが...
-
ファイル名と同名のフォルダを...
-
Excelのハイパーリンクについて...
-
VBA 最新のフォルダ取得
-
Excelで指定したフォルダに保存...
-
VBAでファイル名を指定して保存...
-
Access VBA で フォルダ権限...
-
サーバ内のフォルダ名と各フォ...
-
excelマクロ 冒頭3文字が一致す...
-
VBA フォルダ名に特定の文字を...
-
カレントフォルダって?
-
Excel VBA マクロ フォルダ名を...
-
VBA フォルダの複数選択ができない
-
ExcelVBAでフォルダへのハイパ...
-
ExcelのVBAでフォルダ指定がで...
おすすめ情報