
エクセルのマクロについて教えてください
物件ごとのフォルダを作成してます
そのフォルダ内にサブフォルダを作成して
審査 検査 の2つのフォルダがあり
審査フォルダ内にマクロを設定しているファイルがあります
マクロを実行して審査フォルダの中にあるファイル
〇〇新築(交付用).pdfを 検査フォルダ内にコピー出来る方法を教えてください
以前教えていただき
マクロ
Sub ファイルコピー()
Dim myPath(2) As String
Dim FileName As String
' ファイル元保管場所
myPath(1) = ThisWorkbook.Path & "\審査\"
' ファイル貼り付け先
myPath(2) = ThisWorkbook.Path & "\審査\"
FileName = Dir(myPath(1) & "*(交付用).pdf")
Do While FileName <> ""
FileCopy myPath(1) & FileName, myPath(2) & FileName
FileName = Dir
Loop
End Sub
を設定しましたが
このマクロだと 審査 検査 があるフォルダ内にマクロを設定したファイルが無ければマクロが実行できません
先に書きましたように
物件フォルダ内に審査フォルダ 検査フォルダがあり 審査フォルダ内にマクロファイルがある場合にマクロを実行できる方法をを教えてください
詳しくコードを教えてください
よろしくお願いします
No.1ベストアンサー
- 回答日時:
Sub ファイルコピー()
Dim myPath As Variant
Dim fPath As String, fName As String
fPath = ThisWorkbook.Path
fPath = Left(fPath, InStrRev(fPath, "\") - 1)
myPath = folder_acquisition(fPath)
fName = Dir(myPath(1) & "*(交付用).pdf")
Do While fName <> ""
FileCopy myPath(1) & fName, myPath(2) & fName
fName = Dir
Loop
End Sub
Function folder_acquisition(fPath As String) As Variant()
Dim fso As Object, f As Object
Dim n As Integer
Dim myPath(2) As Variant
Set fso = CreateObject("Scripting.FileSystemObject")
With fso
For Each f In .GetFolder(fPath).SubFolders
Select Case Mid(f.Path, InStrRev(f.Path, "\") + 1)
Case "審査"
myPath(1) = f.Path & "\"
n = n + 1
Case "検査"
myPath(2) = f.Path & "\"
n = n + 1
End Select
If n = 2 Then Exit For
Next f
End With
Set fso = Nothing
folder_acquisition = myPath()
End Function
No.2
- 回答日時:
折角他のご質問で FileSystemObject での回答を頂いたのですから
ここでもそれを使いましょう。
Sub ファイルコピー()
Dim FSO As Object
Dim src As String
Dim dst As String
Set FSO = CreateObject("Scripting.FileSystemObject")
src = ThisWorkbook.Path
dst = src & "\..\検査\"
On Error Resume Next
FSO.CopyFile src & "\*(交付用).pdf", dst
Set FSO = Nothing
End Sub
参考
http://officetanaka.net/excel/vba/filesystemobje …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelのVBA。public変数の値が...
-
Excel_マクロ_現在開いているシ...
-
【Excel】複数のマクロをまとめ...
-
Excel マクロ VBA プロシー...
-
Excel マクロでShearePoint先の...
-
エクセルで縦に並んだデータを...
-
エクセルに張り付けた写真のフ...
-
Excelのセル値に基づいて図形の...
-
Excel・Word リサーチ機能を無...
-
ExcelVBAでPDFを閉じるソース
-
VBAにて別ワークブック上の実行...
-
#defineの定数を文字列として読...
-
複数ページあるPDFファイル内の...
-
エクセル VBA実行中のApplicati...
-
TeraTermのマクロで制御文字の...
-
印刷枚数を指定して印刷(印刷...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
メッセージボックスのOKボタ...
-
Excel_マクロ_現在開いているシ...
-
一つのTeratermのマクロで複数...
-
マクロの連続印刷が突然不可能...
-
ExcelのVBA。public変数の値が...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
エクセルに張り付けた写真のフ...
-
Excelのセル値に基づいて図形の...
-
TERA TERMを隠す方法
-
マクロ実行時エラー
-
ExcelVBAでPDFを閉じるソース
-
wordを起動した際に特定のペー...
-
特定文字のある行の前に空白行...
-
Excel マクロでShearePoint先の...
-
エクセルで縦に並んだデータを...
-
マクロ実行時、ユーザーフォー...
-
ソース内の行末に\\
おすすめ情報