VBA实例2

您所在的位置:网站首页 c如何读取文件中的内容和内容数据 VBA实例2

VBA实例2

2024-07-09 13:26| 来源: 网络整理| 查看: 265

分享使用VBA程序读取txt文本文件的代码,txt文件的格式是UTF-8格式。

运行程序,选择需要读取的txt文件,选中后逐行读取填写至表格的A列。(数据处理部分代码可以根据实际需要修改。)

效 果 演 示

VBA 代 码

代码如下:

代码主要分为三部分,第一部分主要是获得指定的txt文本文件的路径和名称。

第二部分代码是读取文本中的内容,保存至变量中。

第三部分是将变量的内容用split函数按分行来分割,保存至数组中,可以根据实际需要来修改代码处理数据,最后再将处理完的数据保存至sheet表中。

代码语言:javascript复制Sub test() Dim objStream, strData, Arr1, i As Long Dim pathX As String, strX As String, N As Long '第一部分选中需要读取的txt文件 With Application.FileDialog(msoFileDialogFilePicker) With .Filters .Clear .Add "txt文件", "*.txt" End With .AllowMultiSelect = False If Not .Show Then Exit Sub pathX = .SelectedItems(1) End With '第二部分读取UTF-8格式的txt文件内容保存至strData变量中 '创建ADODB.Stream对象 Set objStream = CreateObject("ADODB.Stream") '指定字符集为UTF-8 objStream.Charset = "utf-8" '使用Open方法打开流对象 objStream.Open '加载文本文件 objStream.LoadFromFile (pathX) '使用ReadText返回文件内容 strData = objStream.ReadText() '第三部分用Split函数按行来分割字符串存至数组中,处理数据,然后通过循环填写至sheet表中 Arr1 = Split(strData, vbCrLf) objStream.Close Set objStream = Nothing N = 1 For i = 0 To UBound(Arr1) strX = Arr1(i) If strX "" Then Range("A" & N) = strX End If N = N + 1 Next End Sub

如果已知txt文件路径,可以直接从第二部分代码开始使用,将第二部分代码其中修改为objStream.LoadFromFile ("文件完整路径")。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3