早就该写的一篇Excel的VBA小处理。。。
在读取现成文件到Excel的网格中的时候,特别是XML文件,是UTF-8的编码。有时候对其处理并不是用前篇XML方式来处理的。这时就需要读取文件流了。如果用FileSystemObject来操作的话,非英文的字符经常会变成乱码。编码问题以后再讨论,现如今就是把utf-8的文件再网格中正确显示出来。需要用到的就是ADODB.Stream了。
需要读取的文件如下:
<?xml version="1.0" encoding="utf-8"?>
<name>趙</name>
<name>銭</name>
<name>孫</name>
<name>李</name>
两种读取方式的程序
Sub readUT8FileToExcel()
Dim FSO As Object
Dim shiftJISTxt As Object
Dim rowIndex As Integer
'txt file
Set FSO = CreateObject("Scripting.FileSystemObject")
Set shiftJISTxt = FSO.OpenTextFile("D:\PG_code\Excel_sample\utf-8.xml")
'read common file
rowIndex = 2
Do Until shiftJISTxt.AtEndOfStream