if   dir("E:\windows",vbDirectory   )=""   then   
      mkdir("E:\windows")   
  endif  如果“E:\”为光驱就会出现错误,如何做到,在E盘建立不了,就到其他盘建立windows文件夹。

解决方案 »

  1.   


    On Error Resume Next
      

  2.   

    用下面这个API识别驱动器类型:Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
    Private Const DRIVE_CDROM = 5
    Private Const DRIVE_FIXED = 3
    Private Const DRIVE_RAMDISK = 6
    Private Const DRIVE_REMOTE = 4
    Private Const DRIVE_REMOVABLE = 2
      

  3.   

    Private Sub Form_Load()
       Dim fs, d, s, t
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set d = fs.GetDrive("e:") '指定盘符
        If d.DriveType = 4 Then '指定盘符是否为光驱。
        MsgBox "E盘为光驱动器不能创建目录"
        Else
        If Dir("E:\windows", vbDirectory) = "" Then
          MkDir ("E:\windows")
      End If
        End If
       '在实际编程中,比较少会用到指定绝对路径的。我这里只不过给个例子而已。
    End Sub