使用VBA操作文件(7):Drive对象和Drives集合

我心飞翔

收藏于 : 2019-11-02 07:45   被转藏 : 1   

Drive对象
Drive对象可以用于访问计算机或服务器上指定的驱动器的属性。Drive对象不支持任何方法。RootFolder属性返回一个文件夹对象,表示驱动器的根文件夹或者根目录,此时能够获得一个包含根文件夹下子文件夹的Folder集合对象,这样就能访问该驱动器的所有部分。
Drive对象的所有属性都是只读的。
AvailableSpace属性
返回磁盘可用的空间,以字节表示,Variant类型。
FreeSpace属性
与AvailableSpace属性相同,返回磁盘上的可用空间,Variant类型。
DriveLetter属性
返回驱动器盘符,不带冒号,String类型。
DriveType属性
返回驱动器类型,DriveType常量,其中0代表未知,1代表可移动,2代表固定,3代表网络,4代表CD-ROM,5代表RAM磁盘。

Sub CDROM_DriveLetter()
    Const CDROM = 4
    Dim fs, colDrives, Drive
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set colDrives = fs.Drives
    For Each Drive In colDrives
        If Drive.DriveType = CDROM Then
            MsgBox "CD-ROM驱动器:" & Drive.DriveLetter
        End If
    Next
End Sub

FileSystem属性
返回所安装的文件系统,例如FAT、NTFS或CDFS,String类型。
IsReady属性
Boolean类型。对硬盘而言,应该总是返回True。对于可移动驱动器而言,如果插入了合适的媒介(例如CD-ROM盘)并且可以访问,则返回True。

Function IsCDROMReady(strDriveLetter)
    Dim fs, objDrive
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set ojbdrive = fs.GetDrive(strDriveLetter)
    IsCDROMReady = (objDrive.DriveType = 4) And objDrive.IsReady = True
End Function

Path属性
返回根文件夹的路径,驱动器名后紧跟一个冒号(例如C:),String类型。这是Drive对象的默认属性。
RootFolder属性
返回表示根文件夹的Folder对象,可以以此访问文件系统的其余部分。
SerialNumber属性
返回驱动器系列号,Long类型。
ShareName属性
用于网络共享,指计算机的网络共享名(例如\\NTSERV1\TestWork),String类型。
TotalSize属性
返回驱动器总容量,以字节表示,Variant类型。
VolumeName属性
指驱动器卷标名(如果指定了驱动器卷标的话),String类型。

Drives集合
Drives集合包含所有连接到当前计算机的驱动器,甚至还包括那些当前不能读的驱动器(例如没有插入的可移动驱动器)。Drives集合以零为基数,只读。
Count属性
返回集合中Drive对象的数目,Long类型。
Item属性

oDrives.Item(Key)

返回一个键为Key(驱动器名)的Drive对象。Drive对象集合不是普通的集合,因此不能使用驱动器的索引值(在集合中的位置序号),否则将产生运行时错误“无效的过程调用或参数”。由于读取一个不存在的驱动器的Drive对象会产生运行时错误,因此最好先调用FileSystemObject对象的DriveExists方法。

Sub TestDrives()
    Dim ofsFileSys As FileSystemObject
    Dim ofsDrives As Drives
    Dim ofsDrive As Drive
 
    Set ofsFileSys = New FileSystemObject
    Set ofsDrives = ofsFileSys.Drives
    Set ofsDrive = ofsDrives.Item("C")
    MsgBox ofsDrive.DriveType
    Set ofsDrive = Nothing
    Set ofsDrives = Nothing
    Set ofsFileSys = Nothing
End Sub
 
 阅读文章全部内容  
点击查看
文章点评
相关文章
我心飞翔 关注

文章收藏:5016

TA的最新收藏