翻译Excel 宏写入文件乱码解决

脱和平阅读量 11

在Excel的宏代码中, 可以实现将Excel单元格等内容写入本地目录的文件中, 但是某些状况下写入到文件的内容如有包含中文的话, 则有可能出现乱码。本篇介绍乱码场景与不同版本操作系统的解决办法。

示例代码与乱码场景

在宏中的输入的代码如下:

复制代码
Sub output()
    Open "my.txt" For Output As #1
    Cells(1, 1).Select
    Print #1, Cells(1, 1).Value
End Sub

以上代码是把第一个单元格中的内容写入 my.txt 文件中。
如单元格中输入的是中文,在某些机器上执行正常, 但是在某些机器执行后产生的文件中文会变成问号, 类似 ?????

该问题出现原因之一就是操作系统的语言设置原因,解决方法是设置操作系统的language for non-Unicode program的值。

Windows 10 设置方法

  1. 打开控制面板
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/1f28d3528db647d39c338c8e45f7b91f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3NjYXI5OTk=,size_20,color_FFFFFF,t_70,g_se,x_16)

  2. 点击 "时钟和区域"
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/83ffcbb5072b44019786735c2d83cdde.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3NjYXI5OTk=,size_20,color_FFFFFF,t_70,g_se,x_16)

  3. 点击区域,进入 "管理" 标签页, 点击"更改系统区域设置", 选择"中文" 之后进行保存。

![在这里插入图片描述](https://img-blog.csdnimg.cn/b371be5a757e4e49bc130ccbc9bf3477.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3NjYXI5OTk=,size_20,color_FFFFFF,t_70,g_se,x_16)

  1. 保存后需要重启服务器。

Windows Server 2016 的设置方法

  1. 邮件单击左下角"开始"图标, 选择"Control Panel"

  2. 点击 "Cloc,Lanugage and Region"

  3. 点击 Region

  4. 在新开窗口, 点击"Administrative" 标签页

  5. 在下方的 "Language for non-Unicode progrems " 区块点击 "Change system locale..." 按钮之后, 选择 "Chinese(Simplified, China)"后保存。

  6. 保存后需要重启服务器。

    复制代码
     ===========================
     【来源: CSDN】
     【作者: oscar999】
     【原文链接】 https://oscar.blog.csdn.net/article/details/120256504
     声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。
0/300
全部评论0
0/300