WritePrivateProfileString API関数を使って、INIファイルの指定セクションの指
定キーに文字列を設定することができます。
● 準備 ●
(1)新規標準モジュールを用意し、以下の宣言文とSubプロシージャを記述します。
(2)VBEのメニューから、[表示]-[イミディエイトウィンドウ]([Ctrl]+[G])を選択しイミディエイトウィンドウを表示させておきます。
※Access97の場合はデバッグウィンドウになりますので、以後読み替えて下さい。
● サンプル ●
' INIに文字列情報を設定する関数(API)の定義
Public 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
' INIファイルに文字列情報を設定する関数
Public Sub SetParaStr(ParaStr As String)
Const IniName = "TestWriteINI.ini" ' INIファイル名
Const SecName = "COMPANY" ' セクション名
Const KeyName = "KYOTEN" ' キー名
'INIファイルに文字列を書き込む
If WritePrivateProfileString(SecName, KeyName, ParaStr, _
IniName) <> 0 Then
MsgBox "正常に書き込まれました"
Else
MsgBox "正常に書き込まれまれませんでした"
End If
End Sub
● 動作確認 ●
イミディエイトウィンドウにて「SetParaStr "文字列"」の形式で打ち込みます。
例えばSetParaStr "北海道"と実行してみて下さい。
「正常に書き込まれました」と完了メッセージが出れば、Windowsフォルダに「TestWriteINI.ini」ファイルが作成され、中身が
[COMPANY] KYOTEN=北海道 の2行になっている筈です。
● 詳細 ●
[WritePrivateProfileString API関数]
引数:lpApplicationName - セクション名が入った文字列バッファ
lpKeyName - キー名が入った文字列バッファ
lpString - キーに設定する文字列バッファ
lpFileName - INIファイルの名前が入った文字列バッファ
戻り値:成功すると、0以外の値が返ります。
失敗すると、0が返ります。
(エラー情報を取得するにはGetLastError API関数を使います。)
● 補足説明 ●
INIファイルはデフォルトでWindowsフォルダを探しに行きますが、パスを含めて指定
すれば、他の場所(例えばAccessアプリケーションと同じフォルダ)に置いても構い
ません。