VB.NETでファイルをコピーする方法まとめ

VB.NETでファイルをコピーする方法をいくつか紹介します。

ファイルの存在チェックをする方法

ここでは、VB.NETでファイルの存在チェックをする方法を紹介します。

VB.NETでファイルの存在チェックをするには、Existsメソッドを使います。

<サンプル>

Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim chk As Boolean
chk = System.IO.File.Exists(TextBox1.Text)

If chk = True Then
MsgBox(“存在します。”)
Else
MsgBox(“存在しません。”)
End If

End Sub
End Class

System.IO.File.Exists(TextBox1.Text)」でテキストボックス1に入力したファイルが存在するかチェックしています。存在する場合はtrue、存在しない場合はfalseを返します。

ファイルをコピー・切り取り(移動)する方法

ここでは、VB.NETでファイルをコピー・切り取り(移動)する方法を紹介します。

VB.NETでファイルをコピーするには、COPYメソッド、切り取りするにはMOVEメソッドを使います。

<サンプル>

Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
System.IO.File.Copy(“C:\wk\test1.xlsx”, “C:\wk\test2.xlsx”)
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
System.IO.File.Delete(“C:\wk\test2.xlsx”)
End Sub

End Class

System.IO.File.Copy(“C:\wk\test1.xlsx”, “C:\wk\test2.xlsx”)」でtest1.xlsxファイルをコピーして、test2.xlsxを作っています。
切り取りする場合には、MOVEを使います。

年月日付きでファイルをコピーする方法

ここでは、VB.NETで年月日付きでファイルをコピーする方法を紹介します。

VB.NETで年月日付きでファイルをコピーするには、COPYメソッドを使います。

<サンプル>

Public Class Form1
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click

Dim d = DateTime.Now
System.IO.File.Copy(“C:\wk\test.xlsx”, “C:\wk\test” & d.Year & d.Month.ToString(“00”) & d.Day.ToString(“00”) & “.xlsx”)

End Sub
End Class

Dim d = DateTime.Now」で現在の日付を取得しています。
System.IO.File.Copy(“C:\wk\test.xlsx”, “C:\wk\test” & d.Year & d.Month.ToString(“00”) & d.Day.ToString(“00”) & “.xlsx”)」でファイルをコピーしています。

ファイル名に「& d.Year & d.Month.ToString(“00”) & d.Day.ToString(“00”)」を付与することで年月日が付与されたファイルが作成できます。結果は2018年1月2日なら「test20180102.xlsx」と言うエクセルファイルが作成されます。

日付時刻付きでファイルをコピーする方法

ここでは、VB.NETで日付時刻付きでファイルをコピーする方法を紹介します。

VB.NETで日付時刻付きでファイルをコピーするには、COPYメソッドを使います。

<サンプル>

Public Class Form1
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click

Dim d = DateTime.Now
System.IO.File.Copy(“C:\wk\test.xlsx”,
“C:\wk\test” & d.Year & d.Month.ToString(“00”) & d.Day.ToString(“00”) & d.Hour.ToString(“00”) & d.Minute.ToString(“00”) & d.Second.ToString(“00”) & “.xlsx”)

End Sub

End Class

この例では、「Dim d = DateTime.Now」で現在の日付時刻を取得しています。
「System.IO.File.Copy(“C:\wk\test.xlsx”,
“C:\wk\test” & d.Year & d.Month.ToString(“00”) & d.Day.ToString(“00”) & d.Hour.ToString(“00”) & d.Minute.ToString(“00”) & d.Second.ToString(“00”) & “.xlsx”)」でファイルをコピーしています。
ファイルコピーの際、年、月、日、時、分、秒の値をそれぞれ取得しファイル名に連結しています。

連番付きでファイルをコピーする方法

ここでは、VB.NETで連番付きでファイルをコピーする方法を紹介します。

VB.NETで連番付きでファイルをコピーするには、COPYメソッドを使います。

<サンプル>

Public Class Form1
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click

For i = 1 To 3
System.IO.File.Copy(“C:\wk\test.xlsx”, “C:\wk\test” & i.ToString & “.xlsx”)
Next

End Sub
End Class

この例では、「For i = 1 To 3」でiが1から3までの間ファイルコピーを繰り返しています。「System.IO.File.Copy(“C:\wk\test.xlsx”, “C:\wk\test” & i.ToString & “.xlsx”)」でファイル名に1~3のついたファイルを作成しています。

例えば、ファイルの連番を100から始めたい場合は、i=100とすれば100から始めることもできます。その場合はTOの後ろ、終了の条件も変更する必要があります。