首页 > 解决方案 > Excel VBA 非英文字符支持读取文件

问题描述

我正在使用这段代码将工作表分隔为单个文件:

Sub Splitbook()
Dim xPath As String
xPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each xWs In ThisWorkbook.Sheets
   xWs.Copy
   Application.ActiveWorkbook.SaveAs Filename:=xPath & "\" & xWs.Name & ".xlsx"
   Application.ActiveWorkbook.Close False
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

但是当我运行代码时,我分别得到了这两个错误: 在此处输入图像描述 在此处输入图像描述

并且正在运行时创建该文件“.\VB5052.tmp” 。我发现当我的路径包含非英文字符时会发生此错误。那么,如何配置 VBA 以支持非英文字符呢?

顺便说一句,我有很多不同的路径,而且我大部分时间都在做这种分离。

此路径不起作用:“D:\Yeni Klasör” 但是,当我删除“ö”字符时:“D:\Yeni”这有效。我的工作表名称包含非英文字符,但这不是错误。只需编辑路径即可。

标签: excelvbautf-8character-encodingnon-english

解决方案


解决方案就是像这样控制 Windows 上的系统区域设置:

  1. 进入控制面板,
  2. 单击时钟、语言和地区
  3. Windows 10、Windows 8:单击区域
    Windows 7:单击区域和语言
    Windows XP:单击区域和语言选项
    出现区域和语言选项对话框。
  4. 单击“管理”选项卡
    在 Windows XP 上,单击“高级”选项卡
    如果没有“高级”选项卡,则说明您没有以管理权限登录。
  5. 在非 Unicode 程序的语言部分下,单击更改系统区域设置并选择所需的语言。
  6. 点击确定
  7. 重新启动计算机以应用更改。

第五步,选择你需要的语言(即有你性格的语言)。否则,您的路径将包含一些不同的字符,这些字符会在运行时导致错误。


推荐阅读