Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 12531|回复: 5

[分享] 用VBA读取UTF编码的文本文件

[复制链接]
发表于 2011-1-19 08:41 | 显示全部楼层 |阅读模式
     通常读取文本文件,我们会用FSO对象或者用VBA内部的Open语句来读取。但是当文本文件是以UTF编码格式保存的时候,用前面的办法就会读出乱码。而FSO最多只能读出Unicode编码的文件。
     为了能够正常读取UTF编码格式的文件,我们就需要用到ADODB.Stream对象。
     以下即为读取UTF编码文件的自定义函数:
  1. Function ReadUTF(ByVal FileName As String) As String
  2.     With CreateObject("ADODB.Stream")
  3.         .Type = 2    '读取文本文件
  4.         .Mode = 3   '读写
  5.         .Open    '打开流
  6.         .LoadFromFile FileName   '装载文本文件
  7.         .Charset = "UTF-8"  '设定编码
  8.         .Position = 2
  9.         ReadUTF = .ReadText   '读取文本
  10.         .Close       '关闭
  11.     End With
  12. End Function
复制代码
读取UTF编码文件.rar (10.54 KB, 下载次数: 109)

评分

参与人数 2 +2 收起 理由
zllzoom + 1
raulerini + 1 精品文章

查看全部评分

发表于 2011-1-19 08:48 | 显示全部楼层
回复

使用道具 举报

发表于 2011-1-19 08:50 | 显示全部楼层
回复

使用道具 举报

发表于 2012-6-13 12:14 | 显示全部楼层
  阿木老师:您的这段代码我运行不了啊、、、、请您解释一下
回复

使用道具 举报

发表于 2012-7-6 16:53 | 显示全部楼层
学习VBA最好的方法不是提问,而是实践!
回复

使用道具 举报

发表于 2019-11-9 23:07 | 显示全部楼层
多看贴子果然会有很多收获
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 08:42 , Processed in 0.338789 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表