- ©«¤l
- 154
- ¥DÃD
- 1
- ºëµØ
- 0
- ¿n¤À
- 200
- ÂI¦W
- 1
- §@·~¨t²Î
- windwos 7
- ³nÅ骩¥»
- 64bit
- ¾\ŪÅv
- 20
- µù¥U®É¶¡
- 2017-5-29
- ³Ì«áµn¿ý
- 2025-1-1
|
¥»©«³Ì«á¥Ñ quickfixer ©ó 2021-11-24 17:23 ½s¿è
¦^´_ 7# suchblue
ÅܶýX¬O²ÁcÂà´«ªº°ÝÃD§a?
°Ñ¦Òhttps://stackoverflow.com/questions/31435662/vba-save-a-file-with-utf-8-without-bom
Sub test()
Dim arr As String, brr, txtutf8 As Object, txtutf8nobom As Object
For Each brr In Sheets("¤u§@ªí1").Range("a1:e50").Rows '½d³ò
arr = arr & Join(Application.Transpose(Application.Transpose(brr)), vbTab) & vbCrLf
Next
'½d³ò¤£©ú¥Î#2 .CurrentRegion.Rows, ©ÎªÌ§ï¥Î#6 °j°é¶]ªºCrr¨ú¥Narr,¤ñ¸û¤£·|§ì¿ù½d³ò
Set txtutf8 = CreateObject("ADODB.Stream")
Set txtutf8nobom = CreateObject("ADODB.Stream")
With txtutf8 '¦³bom
.Charset = "UTF-8" '½s½X
.Open
.WriteText arr
.Position = 0
.SaveToFile "c:\testutf8.txt", 2 'ÀɦW
.Type = 2
.Position = 3
End With
With txtutf8nobom '¨Sbom
.Type = 1
.Open
txtutf8.copyto txtutf8nobom
.SaveToFile "c:\testutf8nobom.txt", 2
End With
txtutf8.close
txtutf8nobom.close
Set txtutf8 = Nothing
Set txtutf8nobom = Nothing
End Sub |
|