Back to Top

プログラムの覚書

Category: VB.NET

VB.NET

VB.NET フォルダをコピーする

フォルダとフォルダ内の全てのファイル、フォルダをコピーする方法を記載します。

My.Computer.FileSystem.CopyDirectory メソッドを使用する方法

Dim sPath As String = "C:\work"

'フォルダをコピーする
My.Computer.FileSystem.CopyDirectory(sPath, "C:\BK")
Dim sPath As String = "C:\work"

'フォルダをコピーする(既存のファイルを上書する)
My.Computer.FileSystem.CopyDirectory(sPath, "C:\BK", True)
Dim sPath As String = "C:\work"

'フォルダをコピーする(確認ダイアログを表示する)
My.Computer.FileSystem.CopyDirectory(sPath, "C:\BK", _
    FileIO.UIOption.AllDialogs, FileIO.UICancelOption.DoNothing)

 

VB.NET INIファイルを読み書きする

VBで、INIファイルの読み込み・書き込み、をする方法を説明します。

INIファイルは、単純なテキストファイルなので、テキストエディタで編集することも出来ます。

ここでは、KERNEL32.DLLを読み込み、Win32APIを使用して、INIファイルを読み書きします。

INIファイルの読み込み・書き込み

INIファイルの読み書き関数

<DllImport("KERNEL32.DLL", CharSet:=CharSet.Auto)>
Public Shared Function GetPrivateProfileString(
    ByVal lpAppName As String,
    ByVal lpKeyName As String, ByVal lpDefault As String,
    ByVal lpReturnedString As System.Text.StringBuilder, ByVal nSize As Integer,
    ByVal lpFileName As String) As Integer
End Function

<DllImport("KERNEL32.DLL", CharSet:=CharSet.Auto)>
Public Shared Function WritePrivateProfileString(
    ByVal lpApplicationName As String,
    ByVal lpKeyName As String,
    ByVal lpString As String,
    ByVal lpFileName As String) As Long
End Function

----------------------------------------------------------------------------------
'iniファイルから取得する
Public Function GetIniString(ByVal lpSection As String, ByVal lpKeyName As String, ByVal lpFileName As String) As String
    Dim strValue As System.Text.StringBuilder = New System.Text.StringBuilder(1024)

    Dim sLen = GetPrivateProfileString(lpSection, lpKeyName, "", strValue, 1024, lpFileName)
    Dim str As String = strValue.ToString()

    Return str
End Function

'iniファイルに書き込む
Public Function PutIniString(ByVal lpSection As String, lpKeyName As String, ByVal lpValue As String, ByVal lpFileName As String) As Boolean
    Dim result As Long = WritePrivateProfileString(lpSection, lpKeyName, lpValue, lpFileName)
    Return result <> 0
End Function

呼び出し側

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim FilePath As String = "C:\work\MyFile.ini"

    Dim s As String = GetIniString("Section1", "KEY1", FilePath)
    PutIniString("Section2", "KEY1", "AAAA", FilePath)
End Sub