Excel 2007: макрос для сохранения файла на общем диске - PullRequest
1 голос
/ 21 июня 2011

Я пишу макрос в Excel и пытаюсь сохранить TXT-файл на общем диске.Я пробовал оба набора кода ниже, и я получаю 'Ошибка времени выполнения' 76 ': путь не найден ". Это правильный синтаксис для пути к файлу?

FilePath = ThisWorkbook.Path & "\\server.name\$foldername"
sOutPutFile = "filename.txt"

FilePath = "\\server.name\$foldername"
sOutPutFile = "filename.txt"

Я получаю сообщение об ошибке в следующемстрока:

Open FilePath & sOutPutFile For Output As #nFileNum

Есть мысли? Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 21 июня 2011

Думаю, @ Даг Глэнси ударил ногтем по голове. Вам не хватает \ между FilePath и sOutPutFile, и его решение работает в вашем конкретном случае. В общем, однако, не всегда очевидно, есть ли у FilePath уже \ в конце или нет, и это требует тестирования перед объединением строк для более общего случая.

Другой подход заключается в использовании метода BuildPath FileSystemObject , который выполняет это тестирование автоматически, т. Е. Вставляет дополнительный разделитель пути между существующим путем и именем файла только при необходимости.

Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")

Open FSO.BuildPath(FilePath, sOutPutFile) For Output As #nFileNum
1 голос
/ 21 июня 2011

Похоже, вам нужно "\" между FilePath и sOutPutFile:

Open FilePath & Application.PathSeparator & sOutPutFile For Output As #nFileNum
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...