Private Declare Function WritePrivateProfileString _
Lib "kernel32" Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationname As String, ByVal _
lpKeyName As Any, ByVal lsString As Any, _
ByVal lplFilename As String) As Long
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
'
'读INI文件.
'函数:GetIniStr
'参数:AppName 项目名.In_Key 键名,sFileName 文件名
'返回值:成功:对应的键值.失败或不存在:""
Public Function GetIniStr(ByVal AppName As String, ByVal In_Key As String, ByVal sFileName As String) As String
On Error GoTo GetIniStrErr
If VBA.Trim$(In_Key) = "" Then
GoTo GetIniStrErr
End If
Dim GetStr As String
GetStr = VBA.String(128, 0)
GetPrivateProfileString AppName, In_Key, "", GetStr, 256, sFileName
GetStr = VBA.Replace(GetStr, VBA.Chr(0), "")
If GetStr = "" Then
GoTo GetIniStrErr
Else
GetIniStr = GetStr
GetStr = ""
End If
Exit Function
GetIniStrErr:
Err.Clear
GetIniStr = ""
GetStr = ""
End Function
'
'写INI文件.
'函数:WriteIniStr
'参数:AppName 项目名.In_Key 键名,In_Data 键值,sFileName 文件名
'返回值:成功=TRUE.失败=FALSE
Public Function WriteIniStr(ByVal AppName As String, ByVal In_Key As String, ByVal in_data As String, ByVal sFileName As String) As Boolean
On Error GoTo WriteIniStrErr
WriteIniStr = True
If VBA.Trim(in_data) = "" Or VBA.Trim(In_Key) = "" Or VBA.Trim(AppName) = "" Then
GoTo WriteIniStrErr
Else
WritePrivateProfileString AppName, In_Key, in_data, sFileName
End If
Exit Function
WriteIniStrErr:
Err.Clear
WriteIniStr = False
End Function