
下記のマクロは先ほど教えて頂いたマクロで、実行をすると指定フォルダと指定ファイルをマウスで指定したフォルダ内にコピーできます。
現状では
「検査時必要図書(正本)」と「返却用(副本)」の2つのフォルダをコピペできますが、
もう一つのフォルダ「前審査」を追加して、3つのフォルダをコピペ出来る方法を教えてください。
現状のマクロ
Sub Macro1()
Const originalFileAddress As String = "\審査用フォルダ\検査時必要図書(正本)"
Const copyFileAddress As String = "\審査用フォルダ\返却用(副本)"
Const SourceFileAddress As String = "\\nas-sp01\share\確認部\電子申請 関連\1.受付\1.確認申請\審査用フォルダ\総合引き受け(戸建て)"
Const FileNewName As String = "総合引き受け(戸建て)"
Dim Dst As Variant
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = False Then Exit Sub
Dst = .SelectedItems(1)
End With
Dim FSO As Object
Dim Adr As String
Set FSO = CreateObject("Scripting.FileSystemObject")
Adr = ThisWorkbook.Path
If Right(Dst, 1) <> "\" Then Dst = Dst & "\"
FSO.CopyFolder Adr & originalFileAddress, Dst
FSO.CopyFolder Adr & copyFileAddress, Dst
Dim SourceFile As String
Dim Extension As Variant
If Not IsEmpty(Dst) Then
For Each Extension In Array(".xlsm", ".xltm")
SourceFile = SourceFileAddress & Extension
Dim DestinationFile As String
DestinationFile = Dst & "\" & FileNewName & Extension
On Error Resume Next
FileCopy SourceFile, DestinationFile
On Error GoTo 0
Next
End If
End Sub
以上となります。
宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
コピー元ファイルのアドレスは
Const SourceFileAddress As String = "\\nas-sp01\share\確認部\電子申請 関連\1.受付\1.確認申請\審査用フォルダ\総合引き受け(戸建て)"
です。これでコピーされていると書いていますが 何処にあるファイルですか?
コピー元ファルダと同じフォルダにあるファイル?
Extension = ".xlsm"
SourceFile = SourceFileAddress & Extension
DestinationFile = Dst & FileNewName & Extension
を
Extension = ".xlsm"
SourceFile = ThisWorkbook.Path & "\審査用フォルダ\総合引き受け(戸建て)" & Extension
DestinationFile = Dst & FileNewName & Extension
として
Const SourceFileAddress As String = "\\nas-sp01\share\確認部\電子申請 関連\1.受付\1.確認申請\審査用フォルダ\総合引き受け(戸建て)"
を消してください
No.2
- 回答日時:
Sub test1()
Const Folder1 As String = "\検査時必要図書(正本)"
Const Folder2 As String = "\返却用(副本)"
Const Folder3 As String = "\前審査"
Const SourceFileAddress As String = "\\nas-sp01\share\確認部\電子申請 関連\1.受付\1.確認申請\審査用フォルダ\総合引き受け(戸建て)"
Const FileNewName As String = "総合引き受け(戸建て)"
Dim Dst As Variant
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "コピー先フォルダを選択"
If .Show = False Then Exit Sub
Dst = .SelectedItems(1)
End With
Dim FSO As Object
Dim Adr As String
Dim SourceFolder As Variant
Set FSO = CreateObject("Scripting.FileSystemObject")
Adr = ThisWorkbook.Path & "\審査用フォルダ"
If Right(Dst, 1) <> "\" Then Dst = Dst & "\"
For Each SourceFolder In Array(Folder1, Folder2, Folder3)
If Dir(Dst & SourceFolder, vbDirectory) = "" Then
FSO.CopyFolder Adr & SourceFolder, Dst
End If
Next
Dim SourceFile As String
Dim DestinationFile As String
Dim Extension As String
Extension = ".xlsm"
SourceFile = SourceFileAddress & Extension
DestinationFile = Dst & FileNewName & Extension
Dim wb As Workbook
On Error Resume Next
Set wb = Workbooks(FileNewName & Extension)
If Err.Number = 0 Then
wb.Close False
End If
On Error GoTo 0
FSO.CopyFile SourceFile, DestinationFile
Set FSO = Nothing
End Sub
各フォルダ、ファイルの存在とアクセスを確認する必要があると思いますが
No.1
- 回答日時:
こんにちは
フォルダのコピーを繰り返したいのなら・・
>FSO.CopyFolder Adr & originalFileAddress, Dst
>FSO.CopyFolder Adr & copyFileAddress, Dst
で行っているので、追加すればよいでしょう。
(変数のネーミングがイマイチ紛らわしいけれど・・)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
windows11におけるファイルの並...
-
フォルダは残してファイルだけ...
-
エクセルVBA:毎月名前が変わる...
-
SDカード内にたくさんの文字化...
-
USBメモリのパスワードロックの...
-
フォルダにあるファイル名一括...
-
iTunesのbackupファイルが複数...
-
フォルダの中身を指す場合、な...
-
ファイルの比較について教えて...
-
多重に入れ子になっているフォ...
-
大量の画像ファイルを50ずつに...
-
最下層フォルダのファイルを抽...
-
エクセルのファイルの削除禁止
-
複数フォルダのファイルを1つ...
-
C:\\Logs このフォルダは何で...
-
Google ドライブに意図しないフ...
-
exeファイルの中身を見ることは...
-
jlbという拡張子のファイルを開...
-
MacのExcleですが ”Excelのオプ...
-
コマンドプロンプトでのPDF...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォルダは残してファイルだけ...
-
windows11におけるファイルの並...
-
フォルダの中身を指す場合、な...
-
勝手にフォルダが作成されます...
-
Google ドライブ ってフォルダ...
-
SDカード内にたくさんの文字化...
-
エクセルVBA:毎月名前が変わる...
-
VBA、フォルダのパスに環境文字...
-
フォルダ内のファイル移動が出...
-
複数フォルダのファイルを1つ...
-
パーフェクトビューワー SDカ...
-
フォルダ内の順番
-
指定以外のファイルやフォルダ...
-
iTunesのbackupファイルが複数...
-
空フォルダの検索方法
-
Mac特有のフォルダ類
-
多重に入れ子になっているフォ...
-
ZIPフォルダの中身をCDに焼く
-
USBメモリーの中のいらないファ...
-
cドライブのフォルダについて
おすすめ情報
回答ありがとうございます。
私の説明が悪くて申し訳ありません。
現状のマクロを実行すると
フォルダ
1.「検査時必要図書(正本)」
2.「返却用(副本)」
ファイル
1.「総合引き受け(戸建て)」がコピー先にコピペできますが
これを
1.「検査時必要図書(正本)」
2.「返却用(副本)」
3.「前審査」
ファイル
1.「総合引き受け(戸建て)」
以上のように「前審査」フォルダをもう一つ指定フォルダ内にコピペしたいのですが。
解決方法を教えてください。
宜しくお願い致します。
回答ありがとうございます。
ご連絡が遅くなり申し訳ありません、
記者に教えて頂きました、コードを設定し、実行したところ、
エラーメッセージ「実行時エラー76 パスが見つかりません」が表示されて、コードの「FSO.CopyFile SourceFile, DestinationFile」が黄色くなっており、マクロを上手く実行できませんでした。
コピー先のフォルダには"\検査時必要図書(正本)" "\返却用(副本)" "\前審査"
はコピーされており、
ファイル「総合引き受け(戸建て).xlsm」のみがコピーできませでした。
申し訳ありません、解決方法を教えてください。
宜しくお願い致します。