ファイルをコピーする : Excel
Excel VBAでファイルをコピーするには、FileCopyステートメントを使用します。
構文 : FileCopy source, destination
引数
source : コピーするファイル名を指定します。
destination : コピー後のファイル名を指定します。
Homeに戻る >
Excel ファイル操作のTipsへ
Excel実行画面
「コピー元ファイル」と「コピー先フォルダ」を指定し、「コピー開始」ボタンをクリックすると、指定フォルダにコピーされます。
Excel VBA実行コード
Option Explicit
'ファイル選択ダイアログ
Public Function SelectFile_single()
Dim sfile As String
Dim i As Integer
Dim s As String
sfile = Application.GetOpenFilename("ファイルを選択してください (*.xls), *.xls")
If sfile = "False" Then
SelectFile_single = ""
Else
SelectFile_single = sfile
End If
End Function
'フォルダ選択ダイアログ
Public Function SelectFolder_FileDialog()
If Application.FileDialog(msoFileDialogFolderPicker).Show Then
SelectFolder_FileDialog = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
Else
SelectFolder_FileDialog = ""
End If
End Function
'フルパスからファイル名のみ取得
Function GetFileName(fullpath As String) As String
Dim i As Integer
Dim nlen As Integer
Dim s As String
On Error GoTo Errsub
nlen = Len(fullpath)
For i = nlen To 0 Step -1
s = Mid$(fullpath, i, 1)
If s = "\" Then Exit For
Next
s = Right$(fullpath, nlen - i)
GetFileName = s
Exit Function
Errsub:
GetFileName = ""
End Function
Private Sub CommandButton1_Click()
Range("E4") = SelectFile_single
End Sub
Private Sub CommandButton2_Click()
Range("E8") = SelectFolder_FileDialog
End Sub
Private Sub CommandButton3_Click()
Dim fname As String
Dim sdir As String
If Range("E4") = "" Then
MsgBox "コピー元ファイルを選択してください。"
Exit Sub
End If
If Range("E8") = "" Then
MsgBox "コピー先フォルダを選択してください。"
Exit Sub
End If
'パス名からファイル名のみ取り出し
fname = GetFileName(Range("E4"))
If Right(Range("E8"), 1) <> "\" Then
sdir = Range("E8") & "\"
Else
sdir = Range("E8")
End If
'ファイルコピー
FileCopy Range("E4"), sdir & fname
MsgBox "ファイルをコピーしました。"
End Sub
Homeに戻る >
Excel ファイル操作のTipsへ
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved