Generic file path Excel Macro Question

  • Thread starter Thread starter dwake
  • Start date Start date
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
 
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.
 
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
 
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
 
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
 
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
 
Back
Top