2013-03-21 5 views
3

Из ясного голубого неба я внезапно получаю сообщение об ошибке, которого я никогда раньше не видел, и я не знаю, почему это происходит, потому что я ничего не сделал, чтобы вызвать проблему.Filename Corrupted in VBA excel

Я пытаюсь открыть файл .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 случайных шестнадцатеричных чисел, затем .csv». Приставка выглядит как цветовой код, но у меня его нет в самом файле или в скрипте PHP, который сгенерировал этот файл. Когда я захожу в Finder и получаю информацию о файле, имя там прекрасно. Как я уже сказал, то, что меня озадачило, - это ошибка только в одном файле.

+0

I не могут полностью расшифровать то, что они здесь говорят, но, похоже, '' 'не разрешено в имени файла: http://msdn.microsoft.com/en-us/library/windows/desktop/aa368590(v= vs.85) .aspx – bernie

+0

есть ли запятая в имени файла? – jordanhill123

+0

Да, сразу после «Февраля» ... – bernie

ответ

2

Оказывается, что есть запятая в имени файла:

ACTStillwater февраля , 2013.csv

Попробуйте удалить его:

ACTStillwater февраля 2013.csv

и посмотреть, будет ли он работать сейчас.

См MSDN - Filename (Windows) подробности

+0

Это уже был дан. Там всего несколько символов, которые будут убивать имя файла на Mac. Разрешены запятые. Просто для усмешек я сгенерировал файлы без запятых, и я получаю одинаковый результат в разных файлах. Как я уже сказал, я запускаю этот макрос с первой части января без проблем, даже с запятыми. Внезапно и без предупреждения проблема возникла вчера – user1902860

+0

О, я пропустил, что это работает на Mac: / – jordanhill123

0

Я подозреваю, что это не запятая, но тот факт, что имя файла имеет более чем 32 символов.

Я обнаружил, что при открытии файла в vba, у которого было какое-либо имя файла или папки по всему пути с более чем 32 символами, сбой.

Это, возможно, объясняет, почему проблема вдруг произошло:

'ACT Stillwater февраля 2013.csv' имеет 33

Принимая во внимание:

«ACT Stillwater января, 2013.csv

имеет 32

Просто мысль.

Если ваш путь был

"KathyStringHD Библиотека: WebServer: Документы: DispatchReports: Отправка отчетов за год Папка:"

Было бы также не

Bob J.