Generic file path Excel Macro Question

D

dwake

I have a vba code that opens a file placed on my desktop, but this vba code
must be used in several pc's, and in every pc the desktop path is different
due to different user names.

I would like to now if it's possible to write a "generic" path for the vba
to find the files with no matter which of the pc desktops the macro is being
ran at. The files will be placed always in the desktop folder.

here is the string I am using to open the file.
Workbooks.Open "C:\Documents and Settings\[Username]\Desktop\Data_Export.xls"

Any advice would be appreciated
 
S

Sheeloo

ThisWorkBook.Path will give you the path of the file containing the macro.

You can use that to get the path if you place it on the Desktop.
 
M

Mike H

Hi,

Try this

Sub GetDesktop()
Dim desktop As String
Set objWSHShell = CreateObject("WScript.Shell")
desktop = objWSHShell.SpecialFolders("Desktop")
Workbooks.Open desktop & "\" & "Data_Export.xls"
End Sub

Mike
 
D

dwake

Maybe I wasn't specific enough. The macro is going out to the desktop and
opening an excel file(no macro in this excel file), copying a specific sheet,
pasting into the excel file where the macro is being ran, and closing the
desktop file.

My problem is this macro is being ran on different pc's, and instead
renaming the file path in the macro for each individual pc, i was wondering
if there was a generic word or phrase you can use for the username portion of
the file path going to the desktop.

Sheeloo said:
ThisWorkBook.Path will give you the path of the file containing the macro.

You can use that to get the path if you place it on the Desktop.

dwake said:
I have a vba code that opens a file placed on my desktop, but this vba code
must be used in several pc's, and in every pc the desktop path is different
due to different user names.

I would like to now if it's possible to write a "generic" path for the vba
to find the files with no matter which of the pc desktops the macro is being
ran at. The files will be placed always in the desktop folder.

here is the string I am using to open the file.
Workbooks.Open "C:\Documents and Settings\[Username]\Desktop\Data_Export.xls"

Any advice would be appreciated
 
S

Sheeloo

I had understood the problem. I thought you would be able to put the file
with the macro at the desktop or below it...

Mike has given the generic solution...

dwake said:
Maybe I wasn't specific enough. The macro is going out to the desktop and
opening an excel file(no macro in this excel file), copying a specific sheet,
pasting into the excel file where the macro is being ran, and closing the
desktop file.

My problem is this macro is being ran on different pc's, and instead
renaming the file path in the macro for each individual pc, i was wondering
if there was a generic word or phrase you can use for the username portion of
the file path going to the desktop.

Sheeloo said:
ThisWorkBook.Path will give you the path of the file containing the macro.

You can use that to get the path if you place it on the Desktop.

dwake said:
I have a vba code that opens a file placed on my desktop, but this vba code
must be used in several pc's, and in every pc the desktop path is different
due to different user names.

I would like to now if it's possible to write a "generic" path for the vba
to find the files with no matter which of the pc desktops the macro is being
ran at. The files will be placed always in the desktop folder.

here is the string I am using to open the file.
Workbooks.Open "C:\Documents and Settings\[Username]\Desktop\Data_Export.xls"

Any advice would be appreciated
 
D

dwake

Worked perfect Mike. Much appreciated.

Mike H said:
Hi,

Try this

Sub GetDesktop()
Dim desktop As String
Set objWSHShell = CreateObject("WScript.Shell")
desktop = objWSHShell.SpecialFolders("Desktop")
Workbooks.Open desktop & "\" & "Data_Export.xls"
End Sub

Mike
dwake said:
I have a vba code that opens a file placed on my desktop, but this vba code
must be used in several pc's, and in every pc the desktop path is different
due to different user names.

I would like to now if it's possible to write a "generic" path for the vba
to find the files with no matter which of the pc desktops the macro is being
ran at. The files will be placed always in the desktop folder.

here is the string I am using to open the file.
Workbooks.Open "C:\Documents and Settings\[Username]\Desktop\Data_Export.xls"

Any advice would be appreciated
 

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