【发布时间】:2013-03-11 15:04:48
【问题描述】:
在晴朗的蓝天中,我突然收到一个我以前从未见过的错误,我不知道为什么会发生,因为我没有采取任何措施来导致问题。
我正在尝试打开一个 .csv 文件,我已经成功完成了数千次。代码如下:
ChDir "KathyStringHD:Library:WebServer:Documents:DispatchReports:DispatchReportsFolder:"
NextFile = Dir("")
Do While NextFile <> ""
If NextFile <> ".DS_Store" Then
Extension = Right(NextFile, 4)
If Extension = ".csv" Then
SaveFile = Left(NextFile, Len(NextFile) - 4) & ".xlsx"
MsgBox NextFile
Call ProcessMonthlyReport(NextFile, Extension, SaveFile, sPath, SavePath)
End If
End If
NextFile = Dir
Loop
除了一个文件外,一切正常。该文件的名称是“ACTStillwater February, 2013.csv”,但是当例程尝试打开这个文件时,该名称被损坏为“ACTStillwater Februa#, 6 random hex numbers, then .csv”。附件看起来像一个颜色代码,但我在文件本身或生成文件的 PHP 脚本中没有那个颜色代码。当我进入 Finder 并获取文件信息时,那里的名称很好。正如我所说,让我困惑的是错误只在一个文件上。
【问题讨论】:
-
我无法完全理解他们在这里所说的内容,但似乎
,不允许出现在文件名中:msdn.microsoft.com/en-us/library/windows/desktop/… -
文件名中有逗号吗?
-
是的,就在“二月”之后...
-
看起来这可能与文件名长度有关,您的 VBA 字符数限制为 32 个。尝试删除一个字符,看看是否有效。
-
我将文件名减少了几个字符并去掉了逗号。那行得通。百万美元的问题是“为什么是现在?”
标签: excel vba filenames corruption