タイトルの件、下記のマクロがあります。
ケース1の場合、2つのファイルがある場合は
実行されるのですが
ケース2の場合、A_a.pdfファイルがなく、A.pdfだけの場合は
エラーとなります。
⇒やりたい事はケース2の場合でも、A.pdf は
マクロ2のとおり、フォルダBへ移動して欲しいのです。
ご存じのかた、教えて下さい。
【マクロ1の説明】
フォルダAにある、ファイルの名前に_aがついたファイルを
フォルダCへ自動で移動する
【マクロ1の説明】
フォルダAにある、名前に_aがついていないファイルを
フォルダBへ自動で移動する
【ケース1】
【フォルダA↓ファイル2つあり】
A_a.pdf
A.pdf
マクロ実行
【フォルダC】
A_a.pdf
【フォルダB】
A.pdf
【ケース1】
【フォルダA↓ファイル1つあり】
A.pdf
マクロ実行⇒エラーとなる
⇒A.pdfは、フォルダBへ移動して欲しい
【フォルダC】
【フォルダB】
~マクロ~
【下記の2つのマクロ呼び出し実行します】
Sub Macroの統合()
Call マクロ1
Call マクロ2
End Sub
【2つのマクロを上記のマクロで呼び出し実行】
Sub マクロ1()
Dim fso As New FileSystemObject
Dim sFile As String
Dim dFile As String
sFile = "C:\Users\2020\Desktop\" & ChrW(12886) & "あいうえお\フォルダA\*_a.*"
dFile = "C:\Users\2020\Desktop\フォルダC"
fso.MoveFile sFile, dFile
End Sub
Sub マクロ2()
Dim fso As New FileSystemObject
Dim sFile As String
Dim dFile As String
sFile = "C:\Users\2020\Desktop\" & ChrW(12886) & "あいうえお\フォルダA\*"
dFile = "C:\Users\2020\Desktop\ファイル移動\実験室\①\②\フォルダB"
fso.MoveFile sFile, dFile
End Sub
No.2ベストアンサー
- 回答日時:
こんにちは
ファイルの存在を確認して実行するのが良いと思います
方法は色々あります。dirなどは良く使われる方法ですね
ここは、調べてください
で、こんな方法を回答するとまずいのかも知れませんが
エラーを出さない方法は調べて追記するとして
取り合えず、ならば
Sub Macroの統合()
On Error Resume Next
Call マクロ1
Call マクロ2
End Sub
で実行できると思います。
通常 On Error Resume Nex tは使わない方が良いです
なぜなら、プロセスの不具合を見逃す可能性があるからです
No.1
- 回答日時:
こんにちは
>A.pdfだけの場合はエラーとなります。
どのようなエラーか記してないので不明ですが、想像するところ「ファイルが見つかりません」というメッセージが出ていませんか?
であるなら、メッセージッ通りです。
「(存在しない)ファイルを移動しろ」を実行しようとして、「ないものは移動できん!」とエラーを出していることになります。
もし、上記の状態であるなら、無条件で移動せずに該当ファイルの存在をチェックすれば良いのではないでしょうか?
IF Fso.FileExists(sFile) Then ~~~
といった感じ。
お返事ありがとうございます。
IF Fso.FileExists(sFile) Then ~~~の後
出来ましたら、ご教授お願いします。
自分作成しましたが、動きませんでした。
【下記は動かなかったものです】
Sub マクロ1()
Dim fso As New FileSystemObject
Dim sFile As String
Dim dFile As String
sFile = "C:\Users\2020\Desktop\" & ChrW(12886) & "あいうえお\フォルダA\*_k.*"
dFile = "C:\Users\2020\Desktop\フォルダC"
If FSO.FileExists(sFile) Then
fso.MoveFile sFile, dFile
End Sub
Sub マクロ2()
Dim fso As New FileSystemObject
Dim sFile As String
Dim dFile As String
sFile = "C:\Users\2020\Desktop\" & ChrW(12886) & "あいうえお\フォルダA\*"
dFile = "C:\Users\2020\Desktop\ファイル移動\実験室\①\②\フォルダB"
fso.MoveFile sFile, dFile
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Android VBA、フォルダのパスに環境文字 ㉑ があり、VBAが機能しません。 2 2022/07/27 09:16
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Excel(エクセル) 【マクロ】ファイルを古い順に、1個ずつ移動する 1 2022/09/06 20:30
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- Excel(エクセル) 2つのマクロを連続して動かしたい 3 2022/09/20 23:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 12:54
- Visual Basic(VBA) 【マクロ】フォルダにファイルが1つも無い時に、ファイルがありませんとメッセージを表示する 4 2022/08/28 08:48
- Excel(エクセル) マクロのコードを、少しでも削って短くしたい 3 2022/08/30 07:46
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Excel(エクセル) 【マクロ】フォルダを3つ、POモニター上に、決まった並べ方をしたい 4 2022/08/31 11:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のパソコンでエクセルのマク...
-
Excelが勝手にシート移動してし...
-
VBAを一度起動するとずっと出て...
-
VBA マクロ実行時エラー’1004Ra...
-
昨日まで動いていたエクセルの...
-
マクロでマクロを削除する
-
エクセル終了時の保存確認メッ...
-
Excelからnotesメールを自動で...
-
【マクロ】エラーが発生⇒実行時...
-
excelファイルに使われているVB...
-
EXCEL マクロ クリップボードク...
-
Excel>マクロを使っていないは...
-
excelが別プロセスで起動してし...
-
エクセル2013vbaで、見えない名...
-
エクセルのマクロについて教え...
-
EXCELで作ったマクロを別のファ...
-
新旧エクセル、マクロは互換不可?
-
エクセルマクロが海外PCで開けない
-
エクセルのマクロで使用期限
-
excelでpersonal.xlsを常に開く...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル終了時の保存確認メッ...
-
excelファイルに使われているVB...
-
VBA マクロ実行時エラー’1004Ra...
-
コピーしたファイルのマクロを...
-
昨日まで動いていたエクセルの...
-
別のパソコンでエクセルのマク...
-
VBAを一度起動するとずっと出て...
-
マクロを消すマクロは不可能?
-
エクセルファイルを自身のファ...
-
アクセスでファイルを開いたと...
-
EXCEL マクロ クリップボードク...
-
Excelが勝手にシート移動してし...
-
Excelマクロ ファイル名が変わ...
-
excelが別プロセスで起動してし...
-
Excel2010 PERSONAL.xlsbの挙動...
-
エクセルマクロを有効にしない...
-
エクセル2013vbaで、見えない名...
-
エクセルマクロにてパワーポイ...
-
【マクロ】アクティブセルの行...
-
excelのマクロ実行でブロックさ...
おすすめ情報