◆ファイルをコピーする
ファイルをコピーする方法を紹介します。
オブジェクトを使用する方法は、オブジェクトを使用した File / Folder のコピー
を参考にしてください。
基本的構文は、
FileCopy source, destination
です。
既に開いているファイルやショートカットに FileCopy を実行するとエラーになります。
GetSaveAsFilename は、「名前を付けて保存」のダイアローグボックスを表示します。
ファイルのパスからファイルの名前だけを取り出す手段として、いろんな方法がある
でしょうが、オブジェクトを使ってみました。
サンプル を参照してください。
Sub File_Copy()
Dim SourceFileSpec, DestFileSpec As String
SourceFileSpec = SelectFileNamePath
DestFileSpec = SaveFileNamePath(GetFileName(SourceFileSpec))
FileCopy SourceFileSpec, DestFileSpec
End Sub
Function SelectFileNamePath() As String
SelectFileNamePath = Application. _
GetOpenFilename("ファイルの選択 (*.*),*.*")
End Function
Function SaveFileNamePath(InitialFileName) As String
SaveFileNamePath = Application.GetSaveAsFilename _
(InitialFileName, , , "コピー後のファイルの名前を付けてください")
End Function
Function GetFileName(FileSpec) As String
Dim File_Object As Object
Set File_Object = CreateObject _
("Scripting.FileSystemObject").GetFile(FileSpec)
GetFileName = File_Object.Name
End Function