Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 60
Default Changing drive letter in VBA

For mobility reasons, I store all my VBA programmes in a thumb drive (USB).
And in some of my VBA programmes, also contain the drive path with the
associated drive letters. (e.g. opening a file)

As I add more USB devices to my PC, these drive letters keep changing such
that the VBA programme can't read the correct drive letter where the files
are stored.

Any solution to fix the drive letter? Thanks.

zhj23
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 373
Default Changing drive letter in VBA

I had a sorta similar problem caused by putting my files on other
computers that used network drives that kept getting assigned
different drive letters. My solution was that I added a Control
worksheet to my files. I named one of the cells in that sheet
DriveLoc and put the drive specification in there. Then I just got
the drive spec from that sheet and put it in a string variable named
DrivePath and concatenated it with the rest of the filepath anywhere
in my program that was going to use the network drive. Maybe not an
ideal solution, but at least you have to change the drive spec in only
one place! I guess you could alternatively use a global constant to
hold the drive spec. It was easier for my users to change it on the
Control sheet. HTH, James

On Jun 9, 10:06?am, zhj23 wrote:
For mobility reasons, I store all my VBA programmes in a thumb drive (USB).
And in some of my VBA programmes, also contain the drive path with the
associated drive letters. (e.g. opening a file)

As I add more USB devices to my PC, these drive letters keep changing such
that the VBA programme can't read the correct drive letter where the files
are stored.

Any solution to fix the drive letter? Thanks.

zhj23



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default Changing drive letter in VBA

Perhaps a bit of brute force -

Sub test3()
Dim bRes As Boolean
Dim nFirstDriveToSearch As Long
Dim sKnownFile As String
Dim sDrive As String

nFirstDriveToSearch = Asc("E") ' or simply 69 (maybe start with C)

' a known file that only exists in the drive to be found
sKnownFile = "aler.ini" ' this in root but could add folder

bRes = GetMyDrive(nFirstDriveToSearch, sKnownFile, sDrive)

If bRes Then
MsgBox sDrive
Else
MsgBox "not found"
End If

End Sub

Function GetMyDrive(nChr As Long, sFile As String, sDrive As String) As
Boolean
Dim bRes As Boolean
On Error Resume Next
For i = nChr To Asc("Z")
sDrive = Chr(i) & ":\"
bRes = False
bRes = GetAttr(sDrive) = vbDirectory
If bRes Then
bRes = fbFileExists(sDrive & sFile)
If bRes Then
Exit For
End If
End If
Next
GetMyDrive = bRes
End Function

Function fbFileExists(ByVal sFile As String) As Boolean
Dim nAttr As Long

On Error Resume Next
nAttr = GetAttr(sFile)
fbFileExists = (Err.Number = 0) And ((nAttr And vbDirectory) = 0)
On Error GoTo 0

End Function

Regards,
Peter T

"zhj23" wrote in message
...
For mobility reasons, I store all my VBA programmes in a thumb drive

(USB).
And in some of my VBA programmes, also contain the drive path with the
associated drive letters. (e.g. opening a file)

As I add more USB devices to my PC, these drive letters keep changing such
that the VBA programme can't read the correct drive letter where the files
are stored.

Any solution to fix the drive letter? Thanks.

zhj23



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 60
Default Changing drive letter in VBA

Thanks for the various suggestions. I would look into them.

zhj23.

"zhj23" wrote:

For mobility reasons, I store all my VBA programmes in a thumb drive (USB).
And in some of my VBA programmes, also contain the drive path with the
associated drive letters. (e.g. opening a file)

As I add more USB devices to my PC, these drive letters keep changing such
that the VBA programme can't read the correct drive letter where the files
are stored.

Any solution to fix the drive letter? Thanks.

zhj23

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 131
Default Changing drive letter in VBA


"zhj23" wrote:

Thanks for the various suggestions. I would look into them.

zhj23.

"zhj23" wrote:

For mobility reasons, I store all my VBA programmes in a thumb drive (USB).
And in some of my VBA programmes, also contain the drive path with the
associated drive letters. (e.g. opening a file)

As I add more USB devices to my PC, these drive letters keep changing such
that the VBA programme can't read the correct drive letter where the files
are stored.

Any solution to fix the drive letter? Thanks.

zhj23


Maybe you could also try naming your USB drives and then getting the drive
letter:

Sub getUSBDrive()

Set fso = CreateObject _
("Scripting.FileSystemObject")

For Each drive In fso.Drives

If drive.IsReady Then
If UCase(drive.VolumeName) = "MYUSBDRIVE" Then
Debug.Print drive.VolumeName, drive.DriveLetter
End If
End If

Next

End Sub


--
urkec


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Obtain drive letter assignment of CD/DVD drive? EagleOne Excel Discussion (Misc queries) 1 October 13th 06 01:27 PM
changing drive letter in custom macro toolbar buttons Govt Guy Excel Programming 3 September 23rd 05 07:35 PM
Help to Indentify a drive letter Grandad Excel Programming 12 August 6th 04 08:50 PM
Using path instead of drive letter dumbass Excel Programming 2 May 25th 04 12:25 AM
How to find the drive letter? Mervyn Thomas Excel Programming 8 January 31st 04 01:11 PM


All times are GMT +1. The time now is 01:34 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"