Mitsules, Mark
Mark.Mitsules at ngc.com
Tue Sep 2 15:03:28 CDT 2003
Amanda,
Here's what you need...taken from Microsoft Knowledge Base Article - 182606.
Mark
****************************************************
BEGIN CODE
****************************************************
Option Compare Database
Option Explicit
' Declare variables.
Dim DesktopPath As String
Dim StartMenuPath As String
Dim WinPath As String
Dim fNameOld As String
Dim fNameNew As String
' Declare Public variables.
Public Type ShortItemId
cb As Long
abID As Byte
End Type
Public Type ITEMIDLIST
mkid As ShortItemId
End Type
' Declare constants.
Const CSIDL_TEMPLATES = &H15
Const CSIDL_STARTMENU = &HB
Const CSIDL_FAVORITES = &H6
Const CSIDL_DESKTOPDIRECTORY = &H10
' Declare API functions.
Public Declare Function SHGetPathFromIDList Lib "shell32.dll" _
(ByVal pidl As Long, ByVal pszPath As String) As Long
Public Declare Function SHGetSpecialFolderLocation Lib _
"shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder _
As Long, pidl As ITEMIDLIST) As Long
Function GetSpecialFolder(CSIDL As Long) As String
Dim idlstr As Long
Dim sPath As String
Dim IDL As ITEMIDLIST
Const NOERROR = 0
Const MAX_LENGTH = 260
On Error GoTo Err_GetFolder
' Fill the idl structure with the specified folder item.
idlstr = SHGetSpecialFolderLocation _
(Application.hWndAccessApp, CSIDL, IDL)
If idlstr = NOERROR Then
' Get the path from the idl list, and return
' the folder with a slash at the end.
sPath = Space$(MAX_LENGTH)
idlstr = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal sPath)
If idlstr Then
GetSpecialFolder = Left$(sPath, InStr(sPath, Chr$(0)) _
- 1) & "\"
End If
End If
Exit_GetFolder:
Exit Function
Err_GetFolder:
MsgBox Err.Description, vbCritical Or vbOKOnly
Resume Exit_GetFolder
End Function
Sub Test()
Dim strDesktopPath As String
strDesktopPath = GetSpecialFolder(CSIDL_DESKTOPDIRECTORY)
Debug.Print strDesktopPath
End Sub
****************************************************
END CODE
****************************************************
-----Original Message-----
From: Mitsules, Mark S. (Newport News) [mailto:mitsules_ms at nns.com]
Sent: Tuesday, September 02, 2003 1:57 PM
To: 'Access Developers discussion and problem solving'
Subject: RE: [AccessD] Location of Desktop
Amanda,
I've never used it, but I've seen this syntax referenced before. DesktopPath
= GetSpecialFolder(CSIDL_DESKTOPDIRECTORY)
Mark
-----Original Message-----
From: Amanda Allen [mailto:AJAllen at mail.wvu.edu]
Sent: Tuesday, September 02, 2003 1:44 PM
To: <"Access Developers discussion and problem solving"
Subject: [AccessD] Location of Desktop
How do I reference the location of the desktop using VBA in MS Access?
I want to put a shortcut of the database on the user's desktop.
-- Amanda
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com