プロが教える店舗&オフィスのセキュリティ対策術

2023/7/1 12:46

0回答

Excelのマクロについて教えてください。
マクロ
Sub test2()
Dim myPath(2) As String
Dim FileName As String
' ファイル元保管場所
myPath(1) = "C:\Users\Desktop\テスト物件\審査\"

' ファイル貼り付け先
myPath(2) = "C:\Users\Desktop\テスト物件\検査\"

FileName = "〇〇様邸新築工事(交付用).pdf"

FileCopy myPath(1) & FileName, myPath(2) & FileName
If Dir(myPath(2) & FileName) <> "" Then

End If
End Sub
が有ります。
マクロを実行するとフォルダ名「審査」からフォルダ名「検査」に
ファイル名「〇〇様邸新築工事(交付用).pdf」
がコピーされます。
ファイル名「〇〇様邸新築工事(交付用).pdf」の
「(交付用).pdf」より前の部分が物件によって変更されますので、
ファイル名が「〇〇(交付用).pdf」の場合でもコピーが出来る方法を教えて下さい。
よろしくお願いします。

A 回答 (3件)

>ファイル名が「〇〇(交付用).pdf」の場合でもコピーが出来る方法を教えて下さい。


そんな・・端折って問題は無いのですか?
〇〇(交付用).pdfとした場合、対象ファイルは
同じフォルダにある複数になる可能性がありますよ
〇(交付用).pdf ×〇(交付用).pdf ××(交付用).pdf・・・・
対象のファイルはフォルダに1つなのでしょうか?

シート名やセルの値から〇〇部分を取得するとかにした方が良いと思います

あっ 複数のファイルを同時にファイルコピーしたいのでしょうか?

FileName = Dir(myPath(1) & "*(交付用).pdf")
Do While FileName <> ""
FileCopy myPath(1) & FileName, myPath(2) & FileName
FileName = Dir
Loop

あと、() 半角と全角になっているのですが・・
コードは全角にしましたが、実際はどうなのでしょう?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
又、連絡が遅く成りまして申し分け有りませんでした。
上手く出来ました。
後ほど、このマクロについて、別の質問をさせていただきますので、
よろしくお願いします。

お礼日時:2023/07/02 11:30

「FileSystemObject.CopyFile」でワイルドカードを使えます。


先に、ファイルの存在チェックを行ってください。
http://officetanaka.net/excel/vba/filesystemobje …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
早速試して見ます。

お礼日時:2023/07/01 13:52

ワイルドカードでググってください。

    • good
    • 0
この回答へのお礼

回答ありがとうございます。
早速試して見ます。

お礼日時:2023/07/01 13:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!