|
本帖最后由 tifaff 于 2020-2-15 22:09 编辑
想把
a2:d2的内容按每一个单元格为一行存到一个txt
a3:d3的内容按每一个单元格为一行存到一个txt
....如此类推到
a999:d999
我的代码能输出txt,但是为gb2312,因为内容含中英日韩等多国语言文字会乱码,怎样才能让输出的txt为utf-8?
搜了论坛,看见好几个方法,但把对方代码搬来自己的就出错了,希望能在这个代码基础上修改,因为目前我的代码可以灵活在单元格内容前后添加自己的文字和换行数,谢谢!
- Sub comeout2()
- Application.ScreenUpdating = True
- n = Range("a65536").End(xlUp).Row '检测A列总行数
- arr = Range("a2:i" & n) '存到数组,提升速度
- For i = 1 To n - 1 '循环输出
- outstr = ""
- sname = arr(i, 1)
-
- outstr = "文章标题:" & arr(i, 1)
-
- If Len(arr(i, 2)) > 0 Then '如果内容不是为空的话,就组合内容
- outstr = outstr & vbCrLf & vbCrLf & arr(i, 2) 'vbCrLf 是换行的意思
- End If
-
- If Len(arr(i, 3)) > 0 Then
- outstr = outstr & vbCrLf & vbCrLf & arr(i, 3)
- End If
- If Len(arr(i, 4)) > 0 Then
- outstr = outstr & vbCrLf & vbCrLf & arr(i, 4)
- End If
- FullName = ThisWorkbook.Path & "" & sname & ".txt"
- Open FullName For Output As #1
- Print #1, outstr;
- Close #1
- Next
- Application.ScreenUpdating = True
- MsgBox "导出完毕"
- End Sub
复制代码
|
|