【发布时间】:2016-02-14 15:15:57
【问题描述】:
我正在迭代文件夹中的文件(这意味着我不知道文件夹中的名称),并且有一个带有波兰语ł 字符的文件。
Dir 函数将其转换为l,这意味着以后无法找到该文件名。我已将分配 dir 值的 var 声明为字符串。
我也试过 FSO 和 getfolder 也有同样的问题。
我还注意到文件对话框(设置为文件夹选择模式)也转换了上面的字符。
这是一个错误,还是可以解决的问题?
【问题讨论】:
-
我的错,我确实很匆忙地做了这件事,但并不是要指出它是重复的,而是要指出一个可能的工作角度,但仔细看看它不适用于您的问题。让我仔细看看。你可以发布你的代码吗?或者你是如何
Dim使用Dir的变量?你也试过Files Scripting Object吗? -
这个链接vbforums.com/… 看起来很有趣,但它是VB 而不仅仅是VBA。还有一种方法可以在之后转换特殊字符,但它仅适用于您已对其进行转码的字符。无论如何,FSO(文件脚本对象)似乎没有与
Dir相同的限制,所以如果在您的代码中实现不是很复杂,我个人会这样做! -
该死... FSO 也有同样的问题... 您是否尝试将您的 Dir 值声明为 Variant? (疯狂的猜测,但在这一点上,似乎(至少在我看来)只剩下 VB 或转码......)。以下是 transco/convert 的链接:pcreview.co.uk/threads/… 和 vbforums.com/…
-
最好不要在文件名中使用非标准字符。三个选项 - 修复文件名或使用 Dir 的功能加载部分文件名使用
*字符或使用 AppLocale Utility -
@Meehow 使用 * 没有任何帮助。字符的转换是文件无法打开的问题。而且,
[a-z0-9_]+文件名很久以前就消失了,尤其是对于非英语用户。
标签: vba ms-access unicode ms-access-2013 dir