HOME > 即効テクニック > AccessVBA > API > INIファイルから数値を取得する(API)

即効テクニック

API

INIファイルから数値を取得する(API)

(Access 97)

GetPrivateProfileInt API関数を使って、INIファイルの指定セクションの指定キーに関連付けられている値を数値として取得することができます。


● 準備 ●
(1)メモ帳等で以下の2行のテキストファイルを作成します。
   [MEMBER]
   MAXAGE=35
   
(2)このファイルを「TestReadINI.ini」という名前で保存し、Windowsフォルダへコ
ピーしておきます。

(3)新規標準モジュールを用意し、以下のプロシージャを記述します。


● サンプル ●
' INIファイル数値情報取得関数(API)の定義
Public Declare Function GetPrivateProfileInt Lib "kernel32" _
                         Alias "GetPrivateProfileIntA" _
                         (ByVal lpApplicationName As String, _
                          ByVal lpKeyName As String, _
                          ByVal nDefault As Long, _
                          ByVal lpFileName As String) As Long

' INIファイルから取得した数値を表示する関数
Public Sub ShowParaInt()
    Const IniName = "TestReadIni.ini"
    Const SecName = "MEMBER"
    Const KeyName = "MAXAGE"
    Const Default = 100

    MsgBox "キーの値は「" & _
        GetPrivateProfileInt(SecName, KeyName, Default, IniName) & _
        "」です"
    
End Sub


● 動作確認 ●

ShowParaInt」プロシージャを実行して下さい。
標準モジュールですので、「ShowParaInt」プロシージャ内にカーソルを置いて実行ボタンを押すか、[F5]キーを押します。
  INIファイルが正常に読込まれると、「キーの値は「35」です。」とメッセージが表示されます。
正常に読込まれなかった場合はデフォルト値に指定した値、即ち「キーの値は「100」です。」とメッセージが表示されます。


● 詳細 ●
[GetPrivateProfileInt API関数]
  引数:lpApplicationName - セクション名が入った文字列バッファ
    lpKeyName - キー名が入った文字列バッファ
    lpDefault - キーが見つからない場合に格納する文字列バッファ
    lpFileName - INIファイルの名前が入った文字列バッファ
  戻り値:成功すると、取得された数値が返ります。
     数値がないときや失敗した場合は、デフォルト値が返ります。


● 補足説明 ●
INIファイルはデフォルトでWindowsフォルダを探しに行きますが、パスを含めて指定
すれば、他の場所(例えばAccessアプリケーションと同じフォルダ)に置いても構い
ません。