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

标签 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:\Yeni Klasör"
但是,当我删除 "ö"字符: "D:\耶尼"这行得通。我的工作表名称包含非英文字符,但这不是错误。只需编辑路径即可。

最佳答案

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

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

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

    关于Excel VBA 非英文字符支持读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53472094/

    相关文章:

    mysqldump 之后的 MYSQL latin1 和 utf8

    c - c语言如何截取一个中英文单词混合字符串

    java - CELL_TYPE_ERROR 有什么用?

    excel - VBA自动过滤器不等于

    excel - Word 2010 宏不起作用

    vba - 自动过滤器可以从字典键中获取包含和非包含通配符吗?

    excel - 验证最小和最大数字之间的输入框条目

    arrays - 使用 VBA 将值插入 Excel 表格的正确方法是什么?

    vba - Excel VBA代码导致崩溃-未知原因

    PHP 将 Windows-1251 转换为 UTF 8