设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 11450|回复: 5
打印 上一主题 下一主题

[模块/函数] 求助:如何用vba把文本文件UTF-8 编码转换为 ANSI

[复制链接]
跳转到指定楼层
1#
发表于 2012-12-21 10:32:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,如何用vba把文本文件UTF-8 编码转换为 ANSI
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2012-12-21 16:44:29 | 只看该作者
经过不懈的努力搜索网页,已解决{:soso_e113:}
3#
发表于 2012-12-21 17:05:57 | 只看该作者
yaozi 发表于 2012-12-21 16:44
经过不懈的努力搜索网页,已解决

解决了,就把答案贴上来吧,供其他人学习学习。谢谢了!!

点击这里给我发消息

4#
发表于 2012-12-21 17:10:22 | 只看该作者
LZ应该是调用外部程序来完成这个功能的吧?
5#
 楼主| 发表于 2012-12-22 09:13:28 | 只看该作者
access新闻爱好者 发表于 2012-12-21 17:05
解决了,就把答案贴上来吧,供其他人学习学习。谢谢了!!

Private Sub Command1_Click()
Dim objFile, stmFile
Dim strText As String
Set objFile = CreateObject("Scripting.FileSystemObject")
Set stmFile = objFile.OpenTextFile("f:\temp.txt", 1, False) 'temp.txt 文本编码utf-8
strText = stmFile.ReadAll
stmFile.Close
MsgBox tran_ado(strText) '
End Sub

'需要引用Microsoft ActiveX Data Objects 2.5 以上控件
Function tran_ado(ByVal strA As String) As String
    Dim Stm As New ADODB.Stream
    Stm.Type = adTypeText
    Stm.Mode = adModeUnknown
    Stm.Open
    Stm.Charset = "gb2312"
    Stm.WriteText strA
    Stm.Position = 0
    Stm.Type = adTypeText
    Stm.Charset = "utf-8"
    tran_ado = Stm.ReadText()
    Stm.Close
End Function
6#
发表于 2019-10-31 11:26:36 | 只看该作者
yaozi 发表于 2012-12-22 09:13
Private Sub Command1_Click()
Dim objFile, stmFile
Dim strText As String

2007测试无效
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-25 13:46 , Processed in 0.097931 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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