質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

1766閲覧

fso.movefileで既にファイルが存在する場合

pegy

総合スコア245

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/04/16 01:40

下記のようにfso.movefile sFile, dFile 'Hereの通り、fsoオブジェクトを利用してファイルを移動しているのですが、既に同一名称のファイルが存在する場合エラー扱いになります。これを上書きしたいのですが、良い方法はあるでしょうか?
ErrorをスキップするためにOn Error Resume Nextなどの方法があることはわかったのですが、同一名称ファイルがあったとしても、元の場所からは少なくとも移動したいため、解決策を模索しております。
ご助言をいただけますと幸いです。
宜しくお願い申し上げます。

vba

1Sub movefile() 2 If Cells(4, 7) = "" Or Cells(4, 17) = "" Then 3 MsgBox "Step3とExtra2が完了しないと実行できないよ!処理を終了します" 4 Exit Sub 5 End If 6 7 Dim startTime As Double 8 Dim endTime As Double 9 Dim processTime As Double 10 11 Dim fso As Object 12 13 Dim sFile As String 14 Dim dFile As String 15 Dim i As Long 16 Dim path As Long 17 18 startTime = Timer 19 20 i = 4 21 dFile = ThisWorkbook.path & "\" & "trush" & "\" & Cells(5, 4) 22 Do While Cells(i, 6) <> "" 23 If Cells(i, 17) = "〇" Then 24 Set fso = CreateObject("Scripting.FileSystemObject") 25 If Cells(i, 7) <> ">" And Not Cells(i, 7) Like "*.pdf*" Then 26 sFile = ThisWorkbook.path & "\" & Cells(5, 4) & "\" & Cells(i, 6) & "\" & Cells(i, 7) & "*報告書*xls*" 27 ElseIf Cells(i, 7) = ">" Then 28 sFile = ThisWorkbook.path & "\" & Cells(5, 4) & "\" & Cells(i, 6) & "\共益" & "\" & Cells(i, 8) & "*報告書*xls*" 29 End If 30 fso.movefile sFile, dFile 'Here 31 Set fso = Nothing 32 i = i + 1 33 Else 34 i = i + 1 35 End If 36 Loop 37 38 endTime = Timer 39 processTime = Round(endTime - startTime, 2) 40 41 MsgBox "今回の処理時間は:" & processTime & "秒でした" & vbCrLf & "お疲れ様でした(・ε・)ノシ" 42End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

都度、新しいディレクトリを作成してそこに移動することで解決いたしました。

投稿2021/04/16 03:24

pegy

総合スコア245

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問