excel VBA 如何读取和写入 INI 文件
发布时间:2023-01-25 17:47:58
我们写一些小代码时,有时需要将部分配置信息保存在用户的电脑上,一般可以采取保存在注册表,XML 文件和 INI 文件等方法。这几种方法各有优缺点,我觉得当配置信息简单时,保存在 INI 文件还是很高效的。这里提供一段小代码,用于读取和写入 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.zip | http://pan.baidu.com/s/1hqCCVdi |
excel VBA 如何读取和写入 INI 文件的下载地址:


猜你喜欢
- 在去年秋天宣布iPhone 14之前,就有传言称iPhone 14 Pro型号将比其前辈更贵,但最终苹果保持了价格不变。而现在同样
- Win10截图快捷键在哪?Win10截图快捷键怎么设置?我们都知道Win10系统有自己的截图工具,它能够帮助用户在界面中快速截图保存下来,可
- vivo x50刚上市不久很多的用户还对他不是很熟悉,以至于他更新的许多新功能不知道该如何去使用,今天就给大家带来了vivo x50的快速截
- 用户们在使用电脑的时候,在安装程序或者其他情况时,系统会弹出用户账户控制提示框等,但是很多玩家们都不清楚这需要怎么解决,有需要的快来查看详细
- wps如何拼接两个ppt?有时候在制作ppt的过程中,我们需要把多个ppt合并在一起形成更长的ppt文件,那么在wps里边要怎么进行多个pp
- 在Word2010文档中,用户可以为选中的剪贴画设置多种颜色、多种粗细尺寸的实线边框或虚线边框。实际上,当用户使用Word2010预设的剪贴
- 化学合成实验中经常需要考察压力随温度的变化情况。某次实验在两个不同的反应器中进行同一条件下实验得到两组温度与压力相关数据,试分析它们与温度的
- 对于用户来说,会不会使用CMD命令提示符是电脑新手和老鸟最大的区别,Win10系统下的命令提示符有很多实用技巧,如果你不知道这些使用CMD的
- 大学毕业时基本都会处理论文,包括标题设置、文章分节、页眉页脚的设置、目录生成等,对于刚从其它版本转型过来的应该就不会太懂吧,没关系下面给大家
- Excel中经常需要使用到快速删除空格的技巧,空格具体该如何快速的被删除呢?下面是小编带来的关于excel表格快速删除空格的教程,希望阅读过
- Win11系统首次开机怎么跳过账户登录?最近有用户反映这个问题,不知道怎么解决,在使用Win11系统的时候,如果没有跳过或是使用的家庭版wi
- 自微软官方提供Windows 8开发者预览版下载以来,官方统计已经下载了超过50万次,可见用户对Win8的关注度。而Windows 8自带的
- 有时为了宣誓版权,或者是美观的需要,需要在每一页显示相同的内容,用水印效果就可以实现。那么下面就由小编给大家分享下word中设置水印效果的技
- Wps段落设置在哪里?在日常使用wps文档进行编写或者写工作报告的时候,分段这个操作是必不可少的功能,而且对于锻炼的要求也是多样的,比如缩进
- Win10系统安装了双系统之后,双系统改启动项名称怎么操作呢?相信很多朋友想知道,其实通过EasyBCD这个软件可以很快的解决这个问题。操作
- Cache Killer 是一款 Chrome 缓存自动清理插件,启用之后可以在每个页面加载之前自动清除掉 Chrome 的缓存。缓存从用户
- 在使用搜狗输入法的过程中,很多时候,我们都需要分隔符的作用。今天,小编为大家介绍一下搜狗拼音输入法每打2个字母显示分隔符方法,下面一起来看看
- 对已经分类的数据,如何在一张图表中对每个分类的数据进行折线图的比较呢。以下是小编为您带来的关于Excel分类折线图的作法,希望对您有所帮助。
- 如何在虾米音乐中免费领取摩拜月卡?听说现在可以在虾米音乐中免费领取摩拜月卡了。虾米音乐是一款音乐软件,怎么会与摩拜月卡有关系呢?真的有关系呢
- 据 macrumors 报道,苹果今天发布了 macOS Catalina 10.15.6,这是 2019 年 10 月发布的macOS