excel VBA 如何读取和写入 INI 文件

时间:2023-01-25 17:47:58 

我们写一些小代码时,有时需要将部分配置信息保存在用户的电脑上,一般可以采取保存在注册表,XML 文件和 INI 文件等方法。这几种方法各有优缺点,我觉得当配置信息简单时,保存在 INI 文件还是很高效的。这里提供一段小代码,用于读取和写入 INI 文件

excel VBA 如何读取和写入 INI 文件
excel VBA 如何读取和写入 INI 文件

具体代码:

Option Explicit
#If Win64 Then
Public Declare PtrSafe 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
Public Declare PtrSafe Function WritePrivateProfileString _
Lib "kernel32" Alias "WritePrivateProfileStringA" ( _
ByVal lpApplicationName As String, ByVal lpKeyName As Any, _
ByVal lpString As Any, ByVal lpFileName As String) As Long
#Else
Public 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
Public 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
#End If

Public Const MAXCOUNT As Long = 256

'********************************************************************
'用途: 读取指定的键值
'返回值: 指定的键值
'参数名 说明
'FileName Ini 文件全名(含路径)
'Section 节点的名称
'Key 键名
'********************************************************************
Public Function ReadStringFromIni(ByVal FileName As String, ByVal Section As String, ByVal Key As String) As String
Dim x As Long
Dim xBuff As String * MAXCOUNT
GetPrivateProfileString Section, Key, "", xBuff, MAXCOUNT, FileName
x = InStr(xBuff, Chr(0))
ReadStringFromIni = Trim(Left(xBuff, x - 1))
End Function

'********************************************************************
'用途: 写入指定的键值
'参数名 说明
'FileName Ini 文件全名(含路径)
'Section 节点的名称
'Key 键名
'Value 需要写入的键值
'********************************************************************
Public Sub WriteStringToIni(ByVal FileName As String, ByVal Section As String, ByVal Key As String, ByVal Value As String)
Dim xBuff As String * MAXCOUNT
xBuff = Value + Chr(0)
WritePrivateProfileString Section, Key, xBuff, FileName
End Sub

注意:代码可用于 32 位和 64 位 Office; 请将下载后的文件解压到同一文件夹

1文件名称1下载链接
INIFileReadWrite.ziphttp://pan.baidu.com/s/1hqCCVdi

excel VBA 如何读取和写入 INI 文件的下载地址:


     

标签:VBA教程
0
投稿

猜你喜欢

  • 腾讯会议共享屏幕时黑屏的解决方法

    2023-06-13 15:03:10
  • Win10无法显示网页提示此站点不安全如何解决?

    2023-04-05 15:59:13
  • Excel2003表格怎么进行快速编号

    2023-09-10 20:52:30
  • excel显示第几页怎么设置

    2022-06-28 00:52:13
  • word怎样设置密码保护

    2022-11-17 15:19:35
  • 打开word提示配置进度的解决方法

    2023-12-05 12:50:40
  • Win10电脑无法正常休眠怎么办?

    2023-11-23 00:43:07
  • 如何利用excel的SmatrArt模板创建流程图

    2022-11-22 18:26:37
  • Win10更新原神2.1版本B服崩溃缺少PCgamesSDK.dll怎么办?

    2022-10-10 11:59:38
  • 利用Word的"题注"功能可以实现图片表格的自动编号

    2023-12-07 23:06:08
  • word怎么样添加字体

    2023-09-01 09:56:59
  • Excel中怎样设置数据条?

    2023-03-10 18:11:46
  • excel中数字排序的方法

    2022-11-13 08:36:06
  • Word版式问题怎么快速解决

    2023-11-12 17:10:41
  • Win10电脑更新之后黑屏无法进入到电脑系统怎么办?

    2023-11-22 01:32:41
  • Win10电脑锁屏界面设置被组织隐藏怎么办?

    2023-11-23 20:50:14
  • 多行Excel中怎么插入行时保持表格编号连续?

    2022-03-19 02:11:17
  • Win10鼠标不能拖动文件了怎么办?电脑鼠标无法拖动文件解决图文教程

    2023-12-13 23:23:54
  • excel插入分页符的方法教程

    2023-08-03 18:38:58
  • WPS怎么画直角双向箭头图形

    2023-06-10 01:08:26
  • asp之家 电脑教程 m.aspxhome.com