- ベストアンサー
エクセルのVBAで、フォルダごとコピーしたいのですが…
エクセルのVBAで、フォルダごとコピーしたいのですが… Dドライブの”TEST"というフォルダを、同じくDドライブに"TEST2"という名前でコピーしたいのです。 Private Sub sakusei_Click() Dim myFSO As New FileSystemObject myFSO.CopyFolder "D:\TEST", "D:\TEST2" End Sub ではうまくいかないのです。 私は初心者なので調べてもよくわからないので、 有識者の方、是非教えてください。 宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Visual Basic Editor の [ツール]-[参照設定] で、 "Microsoft Scripting Runtime" にチェックを入れていますか?
その他の回答 (2)
勘違いでした。 単なる参照設定!
[イミディエイト] ? FolderCopy("D:\Test", "D:\Test2") True で、コピーできたようです。 Public Function FolderCopy(ByVal F As String, ByVal T As String) As Boolean On Error GoTo Err_FolderCopy Dim isOK As Boolean Dim fso As Object isOK = True Set fso = CreateObject("Scripting.FIleSystemObject") fso.CopyFolder F, T Exit_FolderCopy: FolderCopy = isOK Exit Function Err_FolderCopy: MsgBox Err.Description & "( FolderCopy)" isOK = False Resume Exit_FolderCopy End Function Private Sub sakusei_Click() Dim myFSO As New FileSystemObject myFSO.CopyFolder "D:\TEST", "D:\TEST2" End Sub 両者の違いは Set文の有無ですね。 Dim fso As FileSystemObject Set fso = New FileSystemObject
お礼
ありがとうございました!! おかげ様でコピーできました。 もっと勉強して回答者の皆さんのように詳しくなりたいです。