Думаю, @ Даг Глэнси ударил ногтем по голове. Вам не хватает \
между FilePath
и sOutPutFile
, и его решение работает в вашем конкретном случае. В общем, однако, не всегда очевидно, есть ли у FilePath
уже \
в конце или нет, и это требует тестирования перед объединением строк для более общего случая.
Другой подход заключается в использовании метода BuildPath
FileSystemObject , который выполняет это тестирование автоматически, т. Е. Вставляет дополнительный разделитель пути между существующим путем и именем файла только при необходимости.
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Open FSO.BuildPath(FilePath, sOutPutFile) For Output As #nFileNum