ファイル関連:ファイルのコピー(System.IO.File.Copy)VB2008でファイルのコピーを行う実行例サンプルです。ファイル関連へ・通常のコピー System.IO.File.Copy (コピー元ファイル名 , コピー先ファイル名 ) コピー先に同じファイルが存在する場合はエラーになります。 ・上書きコピー System.IO.File.Copy (コピー元ファイル名 , コピー先ファイル名 , True ) ■実行画面 コピー元ファイルとコピー先フォルダーを指定しコピーを実行します。 「コピー元ファイル」ボタンをクリックすると、ファイル選択ダイアログが表示されます。 ファイルを選択してください。 「コピー先フォルダ」ボタンをクリックすると、フォルダ選択ダイアログが表示されます。 フォルダを選択してください。 通常のコピーでコピー先フォルダに既に同名のファイルが存在する場合エラーが発生します。 ■実行コード Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim ofd As New OpenFileDialog With ofd 'タイトル .Title = "開くファイルを選択してください" '初期のファイル名 .FileName = "" End With '「ファイルを開く」ダイアログを表示。 If ofd.ShowDialog() = DialogResult.OK Then '選択されたファイル名を表示 Label1.Text = ofd.FileName End If ofd.Dispose() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim path As String Dim fbd As New FolderBrowserDialog fbd.Description = "フォルダ選択" fbd.RootFolder = System.Environment.SpecialFolder.MyComputer '初期フォルダ path = Label2.Text fbd.SelectedPath = path If fbd.ShowDialog() = DialogResult.OK Then Label2.Text = fbd.SelectedPath End If fbd.Dispose() End Sub Private Function MyCheck() As Boolean MyCheck = False If Label1.Text = "" Then MsgBox("コピー元のファイルを指定してください。") Exit Function End If If Label2.Text = "" Then MsgBox("コピー先のフォルダを指定してください。") Exit Function End If MyCheck = True End Function '通常のコピー Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim sdir As String Dim sfina As String If MyCheck() = False Then Exit Sub End If 'コピー先フォルダ sdir = Label2.Text If Strings.Right(sdir, 1) <> "\" Then sdir &= "\" End If 'ファイル名のみの取り出し sfina = IO.Path.GetFileName(Label1.Text) On Error GoTo errexit '通常のコピー System.IO.File.Copy(Label1.Text, sdir & sfina) Exit Sub ErrExit: MsgBox("エラーが発生しました。" & vbNewLine & Err.Description) End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim sdir As String Dim sfina As String If MyCheck() = False Then Exit Sub End If 'コピー先フォルダ sdir = Label2.Text If Strings.Right(sdir, 1) <> "\" Then sdir &= "\" End If 'ファイル名のみの取り出し sfina = IO.Path.GetFileName(Label1.Text) '通常のコピー System.IO.File.Copy(Label1.Text, sdir & sfina, True) End Sub End Class Visual Basic 2008 Express Edition実践入門 |