该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

2011-11-08

vba 读写文件,utf-8编码格式

2010-07-28 22:33 780人阅读 评论(0) 收藏 举报

这是一个转换UTF-8格式文本文件的示例,包括读取和写入,需要用到两个API函数:MultiByteToWideChar和WideCharToMultiByte

Public Declare Function MultiByteToWideChar Lib "kernel32" ( _

ByVal CodePage As Long, _

ByVal dwFlags As Long, _

ByRef lpMultiByteStr As Any, _

ByVal cchMultiByte As Long, _

ByVal lpWideCharStr As Long, _

ByVal cchWideChar As Long) As Long

Public Declare Function WideCharToMultiByte Lib "kernel32" ( _

ByVal CodePage As Long, _

ByVal dwFlags As Long, _

ByVal lpWideCharStr As Long, _

ByVal cchWideChar As Long, _

ByRef lpMultiByteStr As Any, _

ByVal cchMultiByte As Long, _

ByVal lpDefaultChar As String, _

ByVal lpUsedDefaultChar As Long) As Long

Public Const CP_UTF8 = 65001

' 将输入文本写进UTF8格式的文本文件

' 输入

' strInput:文本字符串

' strFile:保存的UTF8格式文件路径

' bBOM:True表示文件带"EFBBBF"头,False表示不带

Sub WriteUTF8File(strInput As String, strFile As String, Optional bBOM As Boolean = True)

Dim bByte As Byte

Dim ReturnByte() As Byte

Dim lngBufferSize As Long

Dim lngResult As Long

Dim TLen As Long

' 判断输入字符串是否为空

If Len(strInput) = 0 Then Exit Sub

On Error GoTo errHandle

' 判断文件是否存在,如存在则删除

If Dir(strFile) <> "" Then Kill strFile

TLen = Len(strInput)

lngBufferSize = TLen * 3 + 1

ReDim ReturnByte(lngBufferSize - 1)

lngResult = WideCharToMultiByte(CP_UTF8, 0, StrPtr(strInput), TLen, _

ReturnByte(0), lngBufferSize, vbNullString, 0)

If lngResult Then

lngResult = lngResult - 1

ReDim Preserve ReturnByte(lngResult)

Open strFile For Binary As #1

If bBOM = True Then

bByte = 239

Put #1, , bByte

bByte = 187

Put #1, , bByte

bByte = 191

Put #1, , bByte

End If

Put #1, , ReturnByte

Close #1

End

把VBA转换成JAVA_请教,我用Excel中生成了Java代码,用VBA生成Jav相关推荐

  1. 【VBA(一):For循环】【Excel中宏的使用+手工书写VBA代码+使用For循环+小结及练习】

    文章目录 Excel中宏的使用 录制宏 优缺点 录制相对引用的宏 案例 手工书写VBA代码 新建模块 使用For循环 案例 小结及练习 定义 宏 VBA(ALT+F11) 相关概念 定位 制作工资条 ...

  2. 网卡是如何将包转换成电信号并发送到网线中的

    下面来看一看网卡是如何将包转换成电信号并发送到网线中的.网卡驱动从IP模块获取包之后,会将其复制到网卡内的缓冲区中,然后向MAC模块发送发送包的命令.接下来就轮到MAC模块进行工作了. 首先,MAC模 ...

  3. 编写程序,测试字符串“你好,欢迎来到Java世界”的长度,将字符串的长度转换成字符串进行输出,并对其中的“Java”四个字母进行截取,输出截取字母以及它在字符串中的位置。

    编写程序,测试字符串"你好,欢迎来到Java世界"的长度,将字符串的长度转换成字符串进行输出,并对其中的"Java"四个字母进行截取,输出截取字母以及它在字符串 ...

  4. 转换成字符串_汇编语言--将字符串中小写字母转换成大写字母

    将字符串中小写字母转换成大写字母 思路: 将键盘上输入的字符读入 调用DOS 10号功能 利用偏移量的性质(类似指针的移动),逐一将字符转换为大写 在转换完的字符串后面 加上 结束符 '$' 利用DO ...

  5. android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件

    前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...

  6. python文件转换成jar包_Python一键转Jar包,Java调用Python新姿势!

    粉丝朋友们,不知道大家看故事看腻了没(要是没腻可一定留言告诉我^_^),今天这篇文章换换口味,正经的来写写技术文.言归正传,咱们开始吧! 今天的这篇文章,聊一个轩辕君之前工作中遇到的需求:如何在Jav ...

  7. js 如何将java list集合转换成var类型数组_零基础参加郑州Java培训 一定要注意Arrays.asList的用法...

    作为编程界的老大哥,Java一直是想要加入互联网行业的人的首选.为了能够更快更好地入行,很多零基础学员选择参加郑州Java培训班,跟着老师的脚步由浅入深的学习专业技术.今天千锋郑州小编就给大家分享使用 ...

  8. mysql中转换成字符串_如何在R中转换字符串的大小写?

    mysql中转换成字符串 Hello, folks. In this tutorial we are going to convert the case of the string in R. The ...

  9. 怎么把qlv格式转换成mp4添加到编辑软件中

    随着短视频不断的火爆越来越多人喜欢利用空余时间看一些短视频以打发琐碎的时间,而制作短视频往往是需要下载素材的,当我们通过各种途径下载到独家的qlv格式且不能添加到编辑软件时怎么办呢?此时我们就可以把q ...

最新文章

  1. 可变数组集合ArrayList
  2. linux红外驱动程序,基于Linux操作系统和红外发射器实现系统模块的设计
  3. h.323 服务器 作用,Cisco CallManager服务器冗余的H.323 网关拨号对端配置
  4. jmeter java 关联_使用Jmeter进行数据关联和并发用户
  5. java仓库管理设计报告_基于JAVA的仓库管理系统设计毕业设计.doc
  6. 【Cf #503 C】Sergey's problem(有趣的构造)
  7. Matlab函数——wgn
  8. java文件传输加密_java程序对于文件的加密和解密
  9. 用户访谈与问卷调查怎么做
  10. PS制作或编辑gif动态图
  11. 海康网络摄像机的使用
  12. CSP 202112-3 登机牌条码
  13. 浙大PAT 1013题 1013. Battle Over Cities
  14. 方差及常见分布的方差计算与推导
  15. 批量转换文件编码(By notepad++)
  16. SSL证书中DV、OV、EV证书的区别有哪些
  17. 校招-顺丰前端面经总结
  18. 电路中滤波电容和退耦电容_去耦电路中,耦合电容容量越大越好吗?
  19. 126邮箱收件服务器iphone,IPHONE4邮件设置问题!
  20. oracle 乱码 utf8,oracle中文乱码的解决方法

热门文章

  1. java程序模拟手机
  2. 程序员的希波克拉底誓言
  3. Linux系统程序包管理工具-RPM
  4. 宣传和灌输诚信国家理念-乌隆他尼皇家大学
  5. 【编程训练-考研上机模拟】综合模拟1-2019浙大上机模拟(晴神)
  6. 六一儿童节,悼念天堂的小朋友
  7. 如何从第三方应用下载广播电台的缓存节目内容
  8. 怎么删除win10的系统更新服务器,教你怎么永久删除Win10更新助手(Update Assistant)...
  9. 多台电脑共用一根网线如何设置宽带共享
  10. 【开发】后端框架——Mybatis