
下記のマクロをご覧ください
Aフォルダにある複数のファイル【どんな種類でもOK】1回の実行で
1個つず、Bフォルダへ移動するマクロです。動きます。
このマクロにて、Aフォルダにファイルが1つも無い時に
【ファイルがありません】とメッセージが表示されるようにしたいです。
ご存じの方いましたら、宜しくお願いいたします
【AフォルダからBフォルダへファイルを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
'PDFfaxを最初に受信するフォルダを設定
Const pathA = "C:\Users\2020\Desktop\フォルダA"
'太田個人作業フォルダを設定
pathB = "C:\Users\2020\Desktop\" & ChrW(12886) & " あいうえお\フォルダA"
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
No.3
- 回答日時:
連投すみません
ファイルが無い場合に無駄な処理をさせるべきでないかもしれませんね
(取得設定段階で確認するべきかな)
メイン処理前に dir 関数で調べるのが良いか・・
If Not Dir(pathA & "\*") <> "" Then MsgBox "【ファイルがありません】", , "Aフォルダ": Exit Sub
No.2
- 回答日時:
ご質問に回答していませんでした
>【ファイルがありません】とメッセージが表示されるようにしたいです。
Next fの後で確認すれば良いですが・・#1の様に変更するのでしたら
If Not fo Is Nothing Thenの否定で
.MoveFile fo.Path, tmp
Else
MsgBox "【ファイルがありません】", , "Aフォルダ"
End If
No.1
- 回答日時:
こんにちは
>1つも無い時に
正しく処理をしたいと言う事だと解釈しました
Dim f, fo, dt As Date, i As Long
変数 foはvariantになっていますので 無い場合 Emptyです
これを If Not fo Is Nothing Then で弾く為には
fo As Objectとすれば、そのままNot fo Is Nothingで分岐する事が出来ると思いますよ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロのコードを、少しでも削って短くしたい 3 2022/08/30 07:46
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- Excel(エクセル) 【VBAファイル移動】2つのマクロを順に実行。1つ目のマクロが実行不可⇒2つ目が実行不可となる件 2 2022/07/29 12:17
- Excel(エクセル) 【マクロ】ファイルを古い順に、1個ずつ移動する 1 2022/09/06 20:30
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Android VBA、フォルダのパスに環境文字 ㉑ があり、VBAが機能しません。 2 2022/07/27 09:16
- Excel(エクセル) 【マクロ】フォルダを3つ、POモニター上に、決まった並べ方をしたい 4 2022/08/31 11:05
- Excel(エクセル) 1つのファイルを3つのフォルダにファイル名を【明日の日付】にして、コピーをしたい 2 2022/12/21 17:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
このQ&Aを見た人はこんなQ&Aも見ています
-
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
ファイルが見つからない時、スルーしたい。
Visual Basic(VBA)
-
VBA データ(特定値)のある最終行を取得したい
Excel(エクセル)
-
-
4
ExcelのVBAでフォームが表示されない
Excel(エクセル)
-
5
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
6
excelのマクロで該当処理できなければ飛ばして進むにはどうすればよいのでしょうか
Visual Basic(VBA)
-
7
別ファイルを開かず、INDIRECT関数を使用せずに、別ファイルのデータを求めたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
C ファイル出力で、フォルダが...
-
空のフォルダの判定
-
VB.NRT FolderBrowserDialogを...
-
クラウドにあるフォルダを共有...
-
META-INFフォルダの置き場所に...
-
Javaでフォルダ複数階層のZipフ...
-
VB6.0 FileListBoxでフォルダ表示
-
ディレクトリ名変更してコピー...
-
Excelvbaでブックをコピー名前...
-
ファイル名と同名のフォルダを...
-
Access VBA で フォルダ権限...
-
エクセルのデータをメモ帳に貼...
-
フォルダの中身がカラか調べる
-
ファイルとフォルダのどちらも...
-
VB6 CommonDialog フォルダ上書...
-
Pythonの作業環境・作業フォル...
-
SHBrowseforfolderについて質問...
-
VBでフォルダをパスワードでロ...
-
あるフォルダーのファイルを違...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
パス名に2バイト文字(マルチバ...
-
デスクトップの画像をhtmlに表...
-
【マクロ】ファイル名の日付に...
-
C ファイル出力で、フォルダが...
-
ファイル名と同名のフォルダを...
-
Excelのハイパーリンクについて...
-
VBA 最新のフォルダ取得
-
Excelで指定したフォルダに保存...
-
VBAでファイル名を指定して保存...
-
Access VBA で フォルダ権限...
-
サーバ内のフォルダ名と各フォ...
-
excelマクロ 冒頭3文字が一致す...
-
VBA フォルダ名に特定の文字を...
-
カレントフォルダって?
-
Excel VBA マクロ フォルダ名を...
-
VBA フォルダの複数選択ができない
-
ExcelVBAでフォルダへのハイパ...
-
ExcelのVBAでフォルダ指定がで...
おすすめ情報