アプリケーションとしてのVBA Excel(エクセル) VBA の役立つ Tips の紹介

アプリケーションとしてのVBA

ファイルをコピーする

ファイルをコピーする


  ファイルをコピーする方法を紹介します。

  オブジェクトを使用する方法は、オブジェクトを使用した 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





Copy (C) 2005   アプリケーションとしてのVBA   All Rights Reserved.