3

在晴朗的蓝天中,我突然收到一个我以前从未见过的错误,我不知道为什么会这样,因为我没有做任何事情来导致这个问题。

我正在尝试打开一个 .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 并获取文件信息时,那里的名称很好。正如我所说,让我困惑的是错误只在一个文件上。

4

2 回答 2

2

文件名中似乎有一个逗号:

ACTStillwater 2013 年 2.csv

尝试删除它:

ACTStillwater 2013 年 2 月.csv

看看它现在是否会运行。

有关详细信息,请参阅 MSDN - 文件名 (Windows)

于 2013-03-21T21:55:09.413 回答
0

我怀疑不是逗号,而是文件名超过 32 个字符的事实。

我发现当在 vba 中打开一个文件时,如果整个路径中的任何一个文件或文件夹名称超过 32 个字符,都会失败。

这或许可以解释为什么会突然出现问题:

'ACT Stillwater February, 2013.csv' 有 33

然而:

'ACT Stillwater 2013 年 1 月.csv

有 32

只是一个想法。

如果你的路径是

“KathyStringHD:Library:WebServer:Documents:DispatchReports:Dispatch Reports for the year 文件夹:”

也会失败

鲍勃·J。

于 2013-11-11T00:10:59.617 回答