
下記のマクロをご覧ください
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelのVBAでフォルダ指定がで...
-
VS2005で"定義へ移動"ができません
-
パス名に2バイト文字(マルチバ...
-
ファイルとフォルダのどちらも...
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
VBA フォルダの複数選択ができない
-
ファイル名と同名のフォルダを...
-
フォルダを自分ごと削除
-
デスクトップの画像をhtmlに表...
-
VBA:特定の文字を含むフォルダ...
-
Excelのハイパーリンクについて...
-
【コマンドプロンプト】名前順...
-
excel VBA Dirにて検索したフォ...
-
ダイアログでフォルダ名を取得...
-
PHPで、指定フォルダ(サブフォ...
-
PDFファイルを自動検索させない...
-
ExcelVBAでフォルダへのハイパ...
-
フォルダ内のファイルの作成日...
-
バッチでmdbを最適化したいので...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル名と同名のフォルダを...
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
パス名に2バイト文字(マルチバ...
-
デスクトップの画像をhtmlに表...
-
ExcelのVBAでフォルダ指定がで...
-
C ファイル出力で、フォルダが...
-
Excelのハイパーリンクについて...
-
VBA 最新のフォルダ取得
-
【マクロ】フォルダにファイル...
-
【ExcelVBA】一覧表の記載に従...
-
【マクロ】ファイル名の日付に...
-
エクセルマクロで指定フォルダ...
-
フォルダにリンクを貼りたい
-
サーバ内のフォルダ名と各フォ...
-
Excelvbaでブックをコピー名前...
-
ThisWorkbookがあるフォルダ更...
-
excelマクロ 冒頭3文字が一致す...
-
VBA フォルダ名に特定の文字を...
-
Downloaded Program Filesはど...
おすすめ情報