Excel VBA非英语字符支持读取文件

时间:2018-11-25 21:19:44

标签: excel vba utf-8 character-encoding non-english

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

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

但是我在运行代码时分别遇到了这两个错误: enter image description here enter image description here

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

顺便说一句,我有许多不同的路径,而且我经常进行这种分离。

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

1 个答案:

答案 0 :(得分:1)

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

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

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