2011-06-21 15 views
1

Excelでマクロを作成していますが、共有ドライブに.txtファイルを保存しようとしています。私は以下のコードの両方のセットを試してみましたし、私は「ファイル名を指定して実行時エラー 『76』を得る:」パスが見つかりませんが、これはファイルパスの正しい構文です、私は次の行でエラーが発生しますExcel 2007:共有ドライブにファイルを保存するマクロ

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

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

?:

Open FilePath & sOutPutFile For Output As #nFileNum 

任意の考えを事前に感謝

答えて

1

あなたはファイルパスとsOutPutFileの間に "\" を必要とするように見えます:?。

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

+1システム固有の '\\'!の代わりに汎用の 'Application.PathSeparator'を使いたいのですが!非常に移植性があります。 –

+0

私はFilePath = "\\ server.name \ $ foldername"& "\" sOutPutFile = "filename.txt"というファイルを使用してしまいました。 –

1

@Doug Glancyは頭の爪に当たったと思う。 FilePathsOutPutFileの間に\がありません。彼のソリューションはあなたの特別なケースで機能します。しかし、一般的には、FilePathの末尾に\があるかどうかは必ずしも明らかではないため、より一般的な場合に文字列を連結する前にテストする必要があります。

もう1つの方法は、このテストを自動的に行うFileSystemObjectのBuildPath methodを使用することです。つまり、必要に応じて既存のパスとファイル名の間に追加のパス区切りを挿入します。

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

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

私はBuildPathについて知りませんでした。それは知って良いです。 –

関連する問題