Iniファイルからの文字列を取得する

Iniファイルから文字列を取得するテクニックです。

サンプル(32bit)

'INIファイルから文字列の取得
Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public Sub GET_INI()
    
    'INIファイルより各設定を取得します。
    
    Dim INI_PATH As String
    Dim nRC As Long
    
    INI_PATH = PATH_CHECK(App.Path)

    'バッファ確保
    DATA_PATH = Space$(255)
    
    'INIファイル読み込み
    nRC = GetPrivateProfileString("Setting", "DataPath", "", DATA_PATH, 255, INI_PATH + "PRG32.INI")

    '末尾のNull除去
    DATA_PATH = Left(DATA_PATH, InStr(DATA_PATH, Chr(0)) - 1)

End Sub

サンプル解説

GetPrivateProfileString関数でIniファイルから文字列を取得しています。

引数は次の通りです。
(引数の名前は、Declare Functionで指定したものです)

メンバー I/O 説明
lpApplicationName In セクション名
lpKeyName In キー名
lpDefault In キーが存在しない場合の初期値
lpReturnedString Out 取得してきた値が入ります。
キーが存在しない場合はlpDefaultで設定した値が入ります。
nSize In lpReturnedStringのサイズ(バイト数)
lpFileName In Iniファイル名

引数 lpReturnedStringにセットする変数は、予めSpaceなどをセットしてバッファを確保しておく必要があります。
引数 nSizeには先ほど確保したバッファのバイト数をセットします。

引数 lpReturnedStringには末尾にNullが入るので取得後にNullを削除します。

セクションまたはキーが存在しない場合は、引数 lpReturnedStringには引数 lpDefaultにセットした値がセットされます。


[ Window Close ]