ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Save to My Docs (https://www.excelbanter.com/excel-programming/428524-save-my-docs.html)

LiAD

Save to My Docs
 
Hi,

Is there a code for automatically saving a copy of a file to My Documents on
any computer?

So I create a file which I put on a network with a macro button. Anyone who
hits the button will then have a copy of file saved onto the My Docs of their
computer. I will also do other things with the operation but the save bit I
dont know how to do.

Thanks
LiAD

Jacob Skaria

Save to My Docs
 
This link may be useful

http://www.hotscripts.com/forums/vis...ents-path.html
--
If this post helps click Yes
---------------
Jacob Skaria


"LiAD" wrote:

Hi,

Is there a code for automatically saving a copy of a file to My Documents on
any computer?

So I create a file which I put on a network with a macro button. Anyone who
hits the button will then have a copy of file saved onto the My Docs of their
computer. I will also do other things with the operation but the save bit I
dont know how to do.

Thanks
LiAD


Jacob Skaria

Save to My Docs
 
In a new module paste the below API function and then within a macro call
Msgbox SpecFolder(CSIDL_PERSONAL)


Public Declare Function SHGetSpecialFolderLocation Lib "shell32" (ByVal hWnd
As Long, ByVal nFolder As Long, ppidl As Long) As Long
Public Declare Function SHGetPathFromIDList Lib "shell32" Alias
"SHGetPathFromIDListA" (ByVal Pidl As Long, ByVal pszPath As String) As Long
Public Declare Sub CoTaskMemFree Lib "ole32" (ByVal pvoid As Long)
Public Const CSIDL_PERSONAL = &H5
Public Const CSIDL_DESKTOPDIRECTORY = &H10
Public Const MAX_PATH = 260
Public Const NOERROR = 0

Public Function SpecFolder(ByVal lngFolder As Long) As String
Dim lngPidlFound As Long
Dim lngFolderFound As Long
Dim lngPidl As Long
Dim strPath As String

strPath = Space(MAX_PATH)
lngPidlFound = SHGetSpecialFolderLocation(0, lngFolder, lngPidl)
If lngPidlFound = NOERROR Then
lngFolderFound = SHGetPathFromIDList(lngPidl, strPath)
If lngFolderFound Then
SpecFolder = Left$(strPath, InStr(1, strPath, vbNullChar) - 1)
End If
End If
CoTaskMemFree lngPidl
End Function

If this post helps click Yes
---------------
Jacob Skaria


"LiAD" wrote:

Hi,

Is there a code for automatically saving a copy of a file to My Documents on
any computer?

So I create a file which I put on a network with a macro button. Anyone who
hits the button will then have a copy of file saved onto the My Docs of their
computer. I will also do other things with the operation but the save bit I
dont know how to do.

Thanks
LiAD


PJ

Save to My Docs
 
You can use the "ENVIRON" function to get the MyDocs location of the
currently logged on user. Set your save path to something like so:

Environ("USERPROFILE") + "\My Documents"

HTH - PJZ

"LiAD" wrote:

Hi,

Is there a code for automatically saving a copy of a file to My Documents on
any computer?

So I create a file which I put on a network with a macro button. Anyone who
hits the button will then have a copy of file saved onto the My Docs of their
computer. I will also do other things with the operation but the save bit I
dont know how to do.

Thanks
LiAD



All times are GMT +1. The time now is 06:09 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com