Excel VBA 支持非英文字符读取文件
Excel VBA non-english character support for reading files
我正在使用这段代码将 sheets 分离到单个文件:
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" 这有效。我的 sheet 名称包含非英文字符,但这不是错误。只需编辑路径即可。
解决方案就是像这样在 windows 上控制系统区域设置:
- 转到控制面板,
- 点击时钟、语言和地区
- Windows10、Windows8:点击区域
Windows7:点击区域和语言
Windows XP:点击区域和语言选项
出现“区域和语言”选项对话框。
- 单击“管理”选项卡
在 Windows XP 上,单击“高级”选项卡
如果没有“高级”选项卡,那么您没有以管理权限登录。
- 在非 Unicode 程序的语言部分下,单击更改系统区域设置并select所需的语言。
- 点击确定
- 重新启动计算机以应用更改。
在第5步中,选择您需要的语言(即具有您性格的语言)。否则您的路径将包含一些不同的字符,这些字符会在 运行 时导致错误。
我正在使用这段代码将 sheets 分离到单个文件:
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" 这有效。我的 sheet 名称包含非英文字符,但这不是错误。只需编辑路径即可。
解决方案就是像这样在 windows 上控制系统区域设置:
- 转到控制面板,
- 点击时钟、语言和地区
- Windows10、Windows8:点击区域
Windows7:点击区域和语言
Windows XP:点击区域和语言选项
出现“区域和语言”选项对话框。 - 单击“管理”选项卡
在 Windows XP 上,单击“高级”选项卡
如果没有“高级”选项卡,那么您没有以管理权限登录。 - 在非 Unicode 程序的语言部分下,单击更改系统区域设置并select所需的语言。
- 点击确定
- 重新启动计算机以应用更改。
在第5步中,选择您需要的语言(即具有您性格的语言)。否则您的路径将包含一些不同的字符,这些字符会在 运行 时导致错误。