Creating a new "directory" on Sharepoint

A

Amedee Van Gasse

Hello,

I have the following snippets of code that creates a new directory
every year (code that has been in production since many years):


Public Const PublishDir = "http://teamsites.company.tld/sites/
department/project/


If Not DirectoryExists(PublishDir & sYear) Then MkDir (PublishDir &
sYear)


Function DirectoryExists(ByVal PathName As String) As Boolean
'Macro Purpose: Function returns TRUE if the specified
' folder exists, false if not.

'declarations
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")

'determine if it exists
DirectoryExists = objFSO.FolderExists(PathName)

'close everything up
Set objFSO = Nothing
End Function


This works great on a filesystem (local and network). But I cannot get
it to work on Sharepoint. I understand that Sharepoint directories are
not real, only exist in the database, and are "created" on the fly.
However other file operations on Sharepoint have no problem at all in
Excel (or Word) VBA:


..SaveAs FileName:=PublishDir & sFilename


Any thoughts?
Anyone with hands-on experience with VBA+SharePoint? We're using
Office 2003 and MOSS 2007, should that matter.
 
J

Joel

Try this instead


Public Const PublishDir = "http://teamsites.company.tld/sites/
department/project/


If Not DirectoryExists(PublishDir & sYear) Then CreateDirectory
(PublishDir,sYear)


Function DirectoryExists(ByVal PathName As String) As Boolean
'Macro Purpose: Function returns TRUE if the specified
' folder exists, false if not.

'declarations
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")

'determine if it exists
DirectoryExists = objFSO.FolderExists(PathName)

'close everything up
Set objFSO = Nothing
End Function

Sub CreateDirectory(ByVal Path As String, ByVal Folder As String) As Boolean
'Macro Purpose: Function returns TRUE if the specified
' folder exists, false if not.

'declarations
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
if right(Folder,1) = "\" then
Folder = left(Folder,len(Folder)-1)
end if

objFSO.Add(Folder, Path)

'close everything up
Set objFSO = Nothing
End Function
 
A

Amedee Van Gasse

    'determine if it exists
    DirectoryExists = objFSO.FolderExists(PathName)

The method FolderExists works for SharePoint folders.
    if right(Folder,1) = "\" then
       Folder = left(Folder,len(Folder)-1)
    end if

That should be:
If Right(Folder, 1) = "\" Or Right(Folder, 1) = "/" Then
because a Sharepoint path is an URL with forward slashes.
    objFSO.Add(Folder, Path)

The methods Add and GetFolder give an error 76 (path not found) when
they are used on SharePoint folders.

But then I had a brilliant idea. I can also access the Sharepoint
directory via UNC notation too: \\teamsites.company.tld\sites
\department\project
This works. Thanks for tuning in.
 
Joined
Aug 6, 2011
Messages
2
Reaction score
0
I have a similar issue when trying to apply my code to sharepoint. It has not been easy to get even close to getting the create folder application to work in sharepoint.

I've tried to use part of the code you mention but keep getting errors. I'm using formfields in word to name the document as well as create the path where to save it. The macro works great on my desktop but once again will not work on sharepoint.

I'm new to programming so can't figure out where I'm going wrong with the snippet. Could you guys help me out? I just posted a thread yesterday with my code. Would appreciate your help.

Thanks
Ginovp41
 

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