Iniファイルの読み書き : Access

アプリケーションの情報データを保存する場合にINIファイルを使用します。




BackHome BackTips Backメニュー

■ Access VBA 実行コード

アプリケーションの情報データを保存する場合にINI ファイルを使用します。

'書き込み用API
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" _
    (ByVal lpApplicationName As String, ByVal lpKeyName As String, _
    ByVal lpString As String, ByVal lpFileName As String) As Long

'読み込み用API
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" _
    (ByVal lpApplicationName As String, ByVal lpKeyName As String, _
    ByVal lpDefault As String, ByVal lpReturnedString As String, _
    ByVal nSize As Long, ByVal lpFileName As String) As Long

’書き込み
'セクション名、キー名、書き込むデータ
Public Function IniWrite(ByVal sSection As String, ByVal sKey As String, ByVal sSet As String) As Boolean
    Dim lRet As Long

    lRet = WritePrivateProfileString(sSection & Chr(0), sKey & Chr(0), sSet & Chr(0), "c:\Test.ini" & Chr(0))
    If lRet <> False Then
        lRet = True
    End If
    IniWrite = lRet
End Function

'読み込み
'セクション名、キー名、もしデータがない場合の値
Public Function IniRead(ByVal sSection As String, ByVal sKey As String, ByVal sDefault As String) As String
    Dim sBuff As String * 256
    Dim lRet As Long

    lRet = GetPrivateProfileString(sSection & Chr(0), sKey & Chr(0), sDefault & Chr(0), sBuff, Len(sBuff), "c:\Test.ini" & Chr(0))
    IniRead = Left$(sBuff, InStr(sBuff, Chr(0)) - 1)
End Function

'コマンドボタンクリックイベント
Private Sub コマンド0_Click()
    IniWrite "Test", "Test01", "ABC"
    IniWrite "Test", "Test02", "EFG"
End Sub

'コマンドボタンクリックイベント
Private Sub コマンド1_Click()
    Dim s As String

    s = IniRead("Test", "Test01", "Default01")
    s = s & " - " & IniRead("Test", "Test02", "Default02")
'ウィンドウタイトルに表示します。
    Me.Caption = s
End Sub
<メモ>
ソフトの設定を保存するには
INIファイル、レジストリ、内部ファイルを使用する方法があります。
Accessでは設定保存用のテーブルを作成したりもします。
多くの人が試用の為にちょっと利用する場合は、レジストリを使用しない方がいいかと思います。
レジストリの場合試した結果、使用できない時、アンインストールしますがレジストリの場合完全に削除できないことがよくあります。
その影響で削除しても他のソフトに影響がある場合もあります。
インストールしたフォルダを丸ごと削除すれば、インストール前に戻るのが試用しやすい形式かと思います。

BackHome BackTips Backメニュー

Copyright(C) FeedSoft