下記のマクロコードをご覧ください!!!
AフォルダとBフォルダの場所や名前は
絶対に変わらないと、仮定すると下記コードは
削除しても動きますか?
やりたい事は、なるべく、コードを削除して
短いコードに変更したいです。
【削除したいコード】
If Not (.FolderExists(pathA) And .FolderExists(pathB)) Then
MsgBox "指定フォルダが存在しません"
Exit Sub
End If
【マクロ内容】
Aフォルダから、Bフォルダに、ファイル【PDF等】を
古い順に、1回実行するごとに、移動する
※動きます
【マクロ コード】
Sub フォルダAから時系列で1つずつフォルダBへ移動する()
Dim f, fo, dt As Date, i As Long
Dim fn As String, ex As String, tmp As String
Dim pathB As String
Const pathA = "C:\Users\user\Desktop\フォルダA"
pathB = "C:\Users\user\Desktop\フォルダB"
With CreateObject("Scripting.FileSystemObject")
If Not (.FolderExists(pathA) And .FolderExists(pathB)) Then
MsgBox "指定フォルダが存在しません"
Exit Sub
End If
If .getfolder(pathA).Files.Count = 0 Then
MsgBox "【ファイルが1つもありません】"
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
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
【削除したいコード】
'If Not (.FolderExists(pathA) And .FolderExists(pathB)) Then
'MsgBox "指定フォルダが存在しません"
'Exit Sub
'End If
コメント文にして試してみては?
そう言うのも勉強になりますよ。
削除しちゃうと戻すのが大変なのでコードの各行の先頭に ' を付ける。
No.2
- 回答日時:
マクロを理解している人が使うだけなら削除しても構いません。
それが誤っていたとしても実行エラーになるだけですから。
Msgboxにしているのは、マクロを知らない人が操作する時の親切表示です。
No.3
- 回答日時:
こんにちは
ご質問の意図がさっぱりわかりませんけれど・・・
>なるべく、コードを削除して短いコードに変更したいです。
元がさほど長いものとも思えないので、無駄な改行を削除すればそれなりに短くなると思いますが、そういうことでもないのでしょうから、推測できる範囲でなるべく短くしてみました。
Sub X()
A = "C:\Users\user\Desktop\フォルダA"
B = "C:\Users\user\Desktop\フォルダB"
Set S = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
For Each f In S.getfolder(A).Files
m = f.DateLastModified
If IsEmpty(t) Or m < t Then Set fo = f: t = m
Next
S.MoveFile fo.Path, B & "\" & fo.Name
If Err.Number > 0 Then MsgBox "不適処理!"
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【マクロ】フォルダにファイルが1つも無い時に、ファイルがありませんとメッセージを表示する 4 2022/08/28 08:48
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Excel(エクセル) 【マクロ】ファイルを古い順に、1個ずつ移動する 1 2022/09/06 20:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Excel(エクセル) 【VBAファイル移動】2つのマクロを順に実行。1つ目のマクロが実行不可⇒2つ目が実行不可となる件 2 2022/07/29 12:17
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Excel(エクセル) 【マクロ】フォルダを3つ、POモニター上に、決まった並べ方をしたい 4 2022/08/31 11:05
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルを隠し設定していない...
-
『HP/nx6120』の“Swsetup”とい...
-
複数フォルダをまとめて移動す...
-
フォルダをきるって?
-
一つ上の、フォルダだけを消す...
-
del で確認なしで削除した
-
エクセル 図の挿入時の初期フ...
-
外付けSSDや外付けHDDにはフォ...
-
「System Volume Information」...
-
デスクトップに勝手にフォルダ...
-
デスクトップアイコンが消えな...
-
サブフォルダにあるフォルダの...
-
googleスプレッドシートのみで...
-
フォルダ名のカナ表記が英語表...
-
バッチファイルで複数フォルダ...
-
連動しているピクチャのフォル...
-
フォルダ内容の更新を無効 or ...
-
ファイル名の文字の色を変えたい
-
OneDriveのアイコンに赤の×印
-
Windows10のエクスプローラで右...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイルを隠し設定していない...
-
複数フォルダをまとめて移動す...
-
『HP/nx6120』の“Swsetup”とい...
-
フォルダをきるって?
-
Internet Explorer-11 を削除は...
-
一つ上の、フォルダだけを消す...
-
エクセル 図の挿入時の初期フ...
-
del で確認なしで削除した
-
外付けSSDや外付けHDDにはフォ...
-
バッチファイルで複数フォルダ...
-
ファイル名やフォルダ名の名前...
-
差し込み印刷が他人のPCでは...
-
"Fax"フォルダと"Scanned Docum...
-
パソコンの共有フォルダ移動に...
-
デスクトップに勝手にフォルダ...
-
連動しているピクチャのフォル...
-
googleスプレッドシートのみで...
-
フォルダ内容の更新を無効 or ...
-
mac メモ帳アプリ フォルダを移...
-
「D.C.」のように最後にドット...
おすすめ情報