Excel 2007:将文件保存在共享驱动器上的宏

Excel 2007:将文件保存在共享驱动器上的宏,excel,excel-2007,vba,Excel,Excel 2007,Vba,我正在Excel中编写宏,并试图将.txt文件保存到共享驱动器。我尝试了下面两组代码,得到了“运行时错误”76:找不到路径。这是文件路径的正确语法吗 FilePath = ThisWorkbook.Path & "\\server.name\$foldername" sOutPutFile = "filename.txt" FilePath = "\\server.name\$foldername" sOutPutFile = "filename.txt" 我在以下行中得到错误: O

我正在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
有什么想法吗?提前谢谢。

看起来您需要在FilePath和sOutPutFile之间加一个“\”:

Open FilePath & Application.PathSeparator & sOutPutFile For Output As #nFileNum

我认为@Doug Glancy一针见血。你在
文件路径
sOutPutFile
之间缺少了一个
\
,他的解决方案适用于你的特定情况。然而,一般来说,
文件路径
是否在末尾已经有了一个
\
,这需要测试在为更一般的情况连接字符串之前

另一种方法是使用FileSystemObject,它会自动执行此测试,即仅在必要时在现有路径和文件名之间插入额外的路径分隔符

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

Open FSO.BuildPath(FilePath, sOutPutFile) For Output As #nFileNum

+1我喜欢使用通用的
应用程序.PathSeparator
而不是特定于系统的`\`!非常便于移植。我最终使用了:FilePath=“\\server.name\$foldername”&“\”sOutPutFile=“filename.txt”,这很有效。