Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I am able to locate a users desktop with the following code:
Set WSHShell = CreateObject("WScript.Shell") sPath = WSHShell.specialfolders("Desktop") I need something similar to locate the Program Files, which are not always located at C:\Program Files I tried: Set WSHShell = CreateObject("WScript.Shell") sPath = WSHShell.SpecialFolders("Program Files") both with and without the space, but it only turned up an empty string. sPath = WSHShell.SpecialFolders("Programs") returns : \Start Menu\Programs Any clues? Also, where can I find the object model for this? |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
This worked ok for me in WinXP (not sure it works in all versions of windows).
Option Explicit Sub testme01() MsgBox Environ("programfiles") End Sub But I searched *scripting* newsgroups and found something that was close to this: Option Explicit Sub testme02() Dim sPath As String Dim WSHShell As Object Set WSHShell = CreateObject("WScript.Shell") sPath = WSHShell.environment("Process")("ProgramFiles") If sPath = "" Then sPath = WSHShell.RegRead _ ("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\P rogramFilesDir") End If MsgBox sPath End Sub It looks like it tries to use the environment variable. If it doesn't find it, it goes and reads the registry. cush wrote: I am able to locate a users desktop with the following code: Set WSHShell = CreateObject("WScript.Shell") sPath = WSHShell.specialfolders("Desktop") I need something similar to locate the Program Files, which are not always located at C:\Program Files I tried: Set WSHShell = CreateObject("WScript.Shell") sPath = WSHShell.SpecialFolders("Program Files") both with and without the space, but it only turned up an empty string. sPath = WSHShell.SpecialFolders("Programs") returns : \Start Menu\Programs Any clues? Also, where can I find the object model for this? -- Dave Peterson |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
"Dave Peterson" skrev i melding
... This worked ok for me in WinXP (not sure it works in all versions of windows). Option Explicit Sub testme01() MsgBox Environ("programfiles") End Sub "Environ" is very limited in the Windows 9x family (95, 98, ME), but works fine in the NT family (NT, 2000, XP). If this is a problem, Randy Birch has code for this (and almost everything else) at http://vbnet.mvps.org/code/browse/csidl.htm it is VB6, so the Form parts has to be adjusted Best wishes Harald |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Do you know if this would work in the 9x series?
If sPath = "" Then sPath = WSHShell.RegRead _ ("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\P rogramFilesDir") End If Thanks, Harald Staff wrote: "Dave Peterson" skrev i melding ... This worked ok for me in WinXP (not sure it works in all versions of windows). Option Explicit Sub testme01() MsgBox Environ("programfiles") End Sub "Environ" is very limited in the Windows 9x family (95, 98, ME), but works fine in the NT family (NT, 2000, XP). If this is a problem, Randy Birch has code for this (and almost everything else) at http://vbnet.mvps.org/code/browse/csidl.htm it is VB6, so the Form parts has to be adjusted Best wishes Harald -- Dave Peterson |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Dave,
Do you know if this would work in the 9x series? If sPath = "" Then sPath = WSHShell.RegRead _ ("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\P rogramFilesDir") End If Yes, that worked for me in W98SE when I ran your testme02 as posted earlier. sPath = WSHShell.environment("Process")("ProgramFiles") and MsgBox Environ("programfiles") both returned empty strings but without error. FWIW, I notice that besides "ProgramFilesDir" I also have "ProgramFilesPath", adjacent in the registry. Both show same path, as I would expect but wonder why the two keys. Regards, Peter T |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I use winXP.
For me, HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Pro gramFilesDir contained a value of: C:\program files HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Pro gramFilesPath contained a value of: %ProgramFiles% which looks a lot like a way to refer to an environment variable. Like using Windows start button|run and typing: %temp% to get to the user's temp folder %programfiles% took me to my c:\program files folder. Peter T wrote: Hi Dave, Do you know if this would work in the 9x series? If sPath = "" Then sPath = WSHShell.RegRead _ ("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\P rogramFilesDir") End If Yes, that worked for me in W98SE when I ran your testme02 as posted earlier. sPath = WSHShell.environment("Process")("ProgramFiles") and MsgBox Environ("programfiles") both returned empty strings but without error. FWIW, I notice that besides "ProgramFilesDir" I also have "ProgramFilesPath", adjacent in the registry. Both show same path, as I would expect but wonder why the two keys. Regards, Peter T -- Dave Peterson |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Absolutely essential download...
http://msdn.microsoft.com/library/de...ist/webdev.asp Microsoft Windows Script Downloads Jim Cone San Francisco, USA "cush" wrote in message ... I am able to locate a users desktop with the following code: Set WSHShell = CreateObject("WScript.Shell") sPath = WSHShell.specialfolders("Desktop") I need something similar to locate the Program Files, which are not always located at C:\Program Files I tried: Set WSHShell = CreateObject("WScript.Shell") sPath = WSHShell.SpecialFolders("Program Files") both with and without the space, but it only turned up an empty string. sPath = WSHShell.SpecialFolders("Programs") returns : \Start Menu\Programs Any clues? Also, where can I find the object model for this? |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
XLS Files Default Program | Excel Discussion (Misc queries) | |||
Cannot open excel files unless from the program itself | Setting up and Configuration of Excel | |||
What program should i use for archived files? | Excel Discussion (Misc queries) | |||
XP Excel program changes all my files to not duplex as stored | Setting up and Configuration of Excel | |||
Program Files Folder | Excel Programming |