アプリケーションの情報データを保存する場合にINIファイルを使用します。
■ 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では設定保存用のテーブルを作成したりもします。
多くの人が試用の為にちょっと利用する場合は、レジストリを使用しない方がいいかと思います。
レジストリの場合試した結果、使用できない時、アンインストールしますがレジストリの場合完全に削除できないことがよくあります。
その影響で削除しても他のソフトに影響がある場合もあります。
インストールしたフォルダを丸ごと削除すれば、インストール前に戻るのが試用しやすい形式かと思います。