ChDrive Procedure




drive (required; String or Char)

The letter of the drive (A-Z) to set as the new default drive


Changes the current working (default) disk drive

Rules at a Glance

  • If a zero-length string is supplied, the drive is not changed.

  • If driveletter consists of more than one character, only the first character is used to determine the drive.


The following example demonstrates a utility function that uses ChDrive to determine if a given drive is available. By centralizing the test, this reduces the amount of coding required each time you need to use ChDrive.

Private Function IsAvailableDrive(sDrive As String) _
                 As Boolean
   'if an error occurs goto to the next line of code
   On Error Resume Next
   Dim sCurDrv As String
   'get the letter of the current drive
   sCurDrv = Left$(CurDir, 1)

   'attempt to change the drive

   'did an error occur?
   If Err.Number = 0 Then
      'no - this drive is OK to use
      IsAvailableDrive = True
      'yes - don't use this drive
      IsAvailableDrive = False
   End If
   'set the drive back to what it was
End Function

The following code snippet shows how this function could be implemented within your application:

   If IsAvailableDrive(sDrv) Then
      MsgBox ("Cannot use Drive " & sDrv & ":\")
   End If

Programming Tips and Gotchas

  • The current directory is unaffected by the ChDrive procedure.

  • Since ChDrive only processes the first letter of the drive string, it’s ...

Get VB.NET Language in a Nutshell, Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.