VBA中是否有可用于读写INI文件的方法?我知道我可以用;
Open "C:\test.ini" For Input As #1
...并解析数据.相反,我试图看看哪些工具已经可用.
我知道在C#你可以做......
using INI; INIFile ini = new INIFile("C:\test.ini");
是否有VBA的等价物?
我在MS Access 2003 VBA中尝试此操作.
以下是我们使用的一些代码片段,它应该可以帮助您实现这个想法.这些例程使用API调用.包含两个函数来读取/写入ini文件中特定部分的字符串设置.
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long Private 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 Public Function IniFileName() As String IniFileName = "c:\[yourpath here]\settings.ini" End Function Private Function ReadIniFileString(ByVal Sect As String, ByVal Keyname As String) As String Dim Worked As Long Dim RetStr As String * 128 Dim StrSize As Long iNoOfCharInIni = 0 sIniString = "" If Sect = "" Or Keyname = "" Then MsgBox "Section Or Key To Read Not Specified !!!", vbExclamation, "INI" Else sProfileString = "" RetStr = Space(128) StrSize = Len(RetStr) Worked = GetPrivateProfileString(Sect, Keyname, "", RetStr, StrSize, IniFileName) If Worked Then iNoOfCharInIni = Worked sIniString = Left$(RetStr, Worked) End If End If ReadIniFileString = sIniString End Function Private Function WriteIniFileString(ByVal Sect As String, ByVal Keyname As String, ByVal Wstr As String) As String Dim Worked As Long iNoOfCharInIni = 0 sIniString = "" If Sect = "" Or Keyname = "" Then MsgBox "Section Or Key To Write Not Specified !!!", vbExclamation, "INI" Else Worked = WritePrivateProfileString(Sect, Keyname, Wstr, IniFileName) If Worked Then iNoOfCharInIni = Worked sIniString = Wstr End If WriteIniFileString = sIniString End If End Function