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の後ろ、終了の条件も変更する必要があります。