vba,如何用特殊字符压缩文件?

时间:2014-07-03 13:17:37

标签: excel vba zip compression

当压缩文件夹中的所有文件时,我收到错误

    '''''Create empty Zip File
    NewZip (FileNameZip)
    Set oApp = CreateObject("Shell.Application")
    '''''Copy the files to the compressed folder

    oApp.Namespace(FileNameZip).CopyHere oApp.Namespace(FolderName).items ''error here

错误: c:... \Jørgen.doc无法压缩,因为它包含的字符不能包含在压缩文件夹中,例如ø。您应该重命名此文件或目录。

但是,如果我导航到该文件并手动将其复制到zip文件夹,它没有问题。有没有办法在我的vba代码中解决这个错误

2 个答案:

答案 0 :(得分:3)

它已经是MacOS中的标准功能,但是在Windows 10中,您需要执行以下操作:

在“开始”菜单搜索框中输入“区域”

  1. 打开区域和语言控制面板

  2. 单击顶部的“管理”标签

  3. 在“非Unicode程序的语言”部分中,单击“更改系统语言环境...”。

  4. 选中“测试版:将Unicode UTF-8用于世界范围的语言支持。”

  5. 重新启动Windows,然后重试。

答案 1 :(得分:0)

使用dotnetzip。它支持国际(unicode)文件名。

here in the answer to this SO question