Can't 'SaveAs' Directly to Network Folder

J

jbl25

Hello,
I'm using the function below to pop up a "Browse for folder" window in
order to get a network file path. Later in the code I save the
workbook to the path under a new name. If I map a drive directly to
the folder I want to save to, I get a run-time 1004 error saying the
file cannot be accessed. If I map to the folder one level above where
I want to save, then select down a level in the browse window, it
works. If I start at the very top level in the browse window and
manually select all the way down to the desired location, it also
works. Also no problems when saving directly to my computer. I'm
running excel 2003 and using Lib shell32.dll. Any ideas why this is
happening? Thanks very much for your help!!

Function GetDirectory(Optional Msg) As String
Dim bInfo As Browseinfo
Dim Path As String
Dim r As Long, X As Long, pos As Integer
bInfo.pidlroot = 0&
If IsMissing(Msg) Then
bInfo.lpsztitle = "Select a folder"
Else
bInfo.lpsztitle = Msg
End If
bInfo.ulflags = &H1
X = SHBrowseforfolder(bInfo)
Path = Space$(512)
r = SHGetPathFromIDList(ByVal X, ByVal Path)
If r Then
pos = InStr(Path, Chr$(0))
GetDirectory = Left(Path, pos - 1)
Else
GetDirectory = ""
End If
End Function
 
D

Damon Longworth

Try changing drives before the save as. See ChDrive Statement in help.



--
Damon Longworth

Don't miss out on the 2005 Excel User Conference
Sept 16th and 17th
Stockyards Hotel - Ft. Worth, Texas
www.ExcelUserConference.com
 
N

NickHK

jbl25,
English Excel 2000 cannot save to a network path that contains foreign
(Chinese) characters, for me anyway.

NickHK
 
J

jbl25

I don't have any foreign characters in the path, so I mapped a drive
directly to the folder I wish to save in, called Z. I added
ChDrive "Z"
right before the SaveAs code, but got the same error. Thanks for your
responses, any other ideas? Thanks again.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top