ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Open folder with code (https://www.excelbanter.com/excel-programming/367759-open-folder-code.html)

Damien

Open folder with code
 
I need a coding solution to the following: I have a command button on a sheet
which is to open a Windows Explorer Directory. I have previously used
hyperlinks to open and show the user with the following code (with button).

Range("V8").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Range("A1").Select
Application.ScreenUpdating = False

I was wondering if there is a better way to do without having the hyperlink.

NickHK

Open folder with code
 
Damien,
Here's one way:
Private Sub CommandButton2_Click()
Dim SysRoot As String
SysRoot = Split(Environ(20), "=")(1)
Shell SysRoot & "\explorer.exe /e, G:", vbNormalFocus
End Sub

NickHK

"Damien" wrote in message
...
I need a coding solution to the following: I have a command button on a

sheet
which is to open a Windows Explorer Directory. I have previously used
hyperlinks to open and show the user with the following code (with

button).

Range("V8").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Range("A1").Select
Application.ScreenUpdating = False

I was wondering if there is a better way to do without having the

hyperlink.



Damien

Open folder with code
 
Thanks Nick, I will try it out, I suppose my other alternative is to
dynamically change the hyperlink via a selection value from a combo box. My
reasoning is that the user may wish to see a particular file belonging to a
project name located in the combo box. Is that at all possible?

Cheers

"NickHK" wrote:

Damien,
Here's one way:
Private Sub CommandButton2_Click()
Dim SysRoot As String
SysRoot = Split(Environ(20), "=")(1)
Shell SysRoot & "\explorer.exe /e, G:", vbNormalFocus
End Sub

NickHK

"Damien" wrote in message
...
I need a coding solution to the following: I have a command button on a

sheet
which is to open a Windows Explorer Directory. I have previously used
hyperlinks to open and show the user with the following code (with

button).

Range("V8").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Range("A1").Select
Application.ScreenUpdating = False

I was wondering if there is a better way to do without having the

hyperlink.




NickHK

Open folder with code
 
Damien,
Just build the shell string from a variable or range value. e.g.

Private Sub CommandButton2_Click()
Dim SysRoot As String
Dim FilePath as String

SysRoot = Split(Environ(20), "=")(1)
FilePath = Range("a1").Text 'Or cboFile.Text
'Assumes FilePath is the full path to the file
Shell SysRoot & "\explorer.exe /e, " & FilePath, vbNormalFocus
End Sub

You should add some error trapping and/or checking that FilePath is valid.

NickHK

"Damien" wrote in message
...
Thanks Nick, I will try it out, I suppose my other alternative is to
dynamically change the hyperlink via a selection value from a combo box.

My
reasoning is that the user may wish to see a particular file belonging to

a
project name located in the combo box. Is that at all possible?

Cheers

"NickHK" wrote:

Damien,
Here's one way:
Private Sub CommandButton2_Click()
Dim SysRoot As String
SysRoot = Split(Environ(20), "=")(1)
Shell SysRoot & "\explorer.exe /e, G:", vbNormalFocus
End Sub

NickHK

"Damien" wrote in message
...
I need a coding solution to the following: I have a command button on

a
sheet
which is to open a Windows Explorer Directory. I have previously used
hyperlinks to open and show the user with the following code (with

button).

Range("V8").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Range("A1").Select
Application.ScreenUpdating = False

I was wondering if there is a better way to do without having the

hyperlink.






Chip Pearson

Open folder with code
 
SysRoot = Split(Environ(20), "=")(1)

You can't rely on the system root folder being the 20th item in
the Environment variables. On my machine, Environ(20) is the
Processor Identifier. Instead, use

SysRoot = Environ("SystemRoot")



--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com





"NickHK" wrote in message
...
Damien,
Here's one way:
Private Sub CommandButton2_Click()
Dim SysRoot As String
SysRoot = Split(Environ(20), "=")(1)
Shell SysRoot & "\explorer.exe /e, G:", vbNormalFocus
End Sub

NickHK

"Damien" wrote in message
...
I need a coding solution to the following: I have a command
button on a

sheet
which is to open a Windows Explorer Directory. I have
previously used
hyperlinks to open and show the user with the following code
(with

button).

Range("V8").Select
Selection.Hyperlinks(1).Follow NewWindow:=False,
AddHistory:=True
Range("A1").Select
Application.ScreenUpdating = False

I was wondering if there is a better way to do without having
the

hyperlink.





Damien

Open folder with code
 
Chip you are sheer genius. SysRoot = Environ("SystemRoot") done the trick
perfectly, Cheers Guys, D.

"Chip Pearson" wrote:

SysRoot = Split(Environ(20), "=")(1)


You can't rely on the system root folder being the 20th item in
the Environment variables. On my machine, Environ(20) is the
Processor Identifier. Instead, use

SysRoot = Environ("SystemRoot")



--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com





"NickHK" wrote in message
...
Damien,
Here's one way:
Private Sub CommandButton2_Click()
Dim SysRoot As String
SysRoot = Split(Environ(20), "=")(1)
Shell SysRoot & "\explorer.exe /e, G:", vbNormalFocus
End Sub

NickHK

"Damien" wrote in message
...
I need a coding solution to the following: I have a command
button on a

sheet
which is to open a Windows Explorer Directory. I have
previously used
hyperlinks to open and show the user with the following code
(with

button).

Range("V8").Select
Selection.Hyperlinks(1).Follow NewWindow:=False,
AddHistory:=True
Range("A1").Select
Application.ScreenUpdating = False

I was wondering if there is a better way to do without having
the

hyperlink.







All times are GMT +1. The time now is 05:24 PM.

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