SetIni()
INI
ファイルにデータを書き込む関数です。対になる読み出し関数
GetIni() はこちら。
ちなみに処理内容は、単に受け取った引数をそのまま API
に流しているだけです(^^;
プロシージャ GetIni()
と同形式にしたかっただけなので、本来は API
を直接呼んだ方が処理速度の点から望ましいと思います。
'標準モジュールに記述します。 Option Explicit Private Declare Function WritePrivateProfileString Lib "kernel32" _ Alias "WritePrivateProfileStringA" _ (ByVal lpApplicationName As String, _ ByVal lpKeyName As Any, _ ByVal lpString As Any, _ ByVal lpFileName As String) As Long Public Function SetIni(strSecName As String, strKeyName As String, _ strData As String, strIniPath As String) as Long 'INIファイルの、指定したセクション・キーにデータを記録します。 'ファイルが存在しなかった場合は自動的に作成されます。 '<引数> ' strSecName : セクション名 ' strKeyName : キー名 ' strData : 書き込む文字列 ' strIniPath : 書き込み INI ファイルのフルパス '<戻り値> ' 1 = 成功 / 0 = 失敗 SetIni = WritePrivateProfileString(strSecName, strKeyName, strData, strIniPath) End Function
実行例:
'フォームにボタンを用意して、以下のプロシージャを記述します。
Private Sub Command1_Click()
Dim lngRet As Long
lngRet = SetIni("Section1", "Key1", "にゃんにゃん", "C:\Temp\hoehoe.ini")
End Sub
成功していれば、「C:\Temp\hoehoe.ini」に次のようなセクションが作られているはずです。
[Section1] Key1=にゃんにゃん
***注意***
INI
ファイルへの書き込みには、ディスクアクセスが伴うぶんわずかな時間がかかります。
書き込みの直後に読み出しといった処理を行うと、データが壊れる可能性が多分にありますので注意してください。