我正在使用这段代码将工作表分隔为单个文件:
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:\耶尼"这行得通。我的工作表名称包含非英文字符,但这不是错误。只需编辑路径即可。
最佳答案
解决方案就是像这样控制 Windows 上的系统区域设置:
Windows 7:单击区域和语言
Windows XP:单击区域和语言选项
出现区域和语言选项对话框。
在 Windows XP 上,单击高级选项卡
如果没有“高级”选项卡,则您没有使用管理权限登录。
第五步,选择你需要的语言(即有你性格的语言)。否则,您的路径将包含一些不同的字符,这些字符会在运行时导致错误。
关于Excel VBA 非英文字符支持读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53472094/