设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2914|回复: 6

[API] 如何用VBA代码获知指定硬盘或U盘的剩余容量或可用容量

[复制链接]
发表于 2010-10-17 22:44:05 | 显示全部楼层 |阅读模式
本帖最后由 xryacc2 于 2010-10-17 23:03 编辑

应用户的要求,给他们加做了一个功能,就是在备份后台数据库时,同时也备到U盘一份,功能包括了
(1)检测出所有活动的U盘并获得具体盘符,
(2)复制数据库文件到用户自定义选择的U盘中(同名则可强制覆盖)
(3)获得后台数据库文件的大小
以上功能的实现所涉及的代码非常简单(参考了一位高手的部份代码),也不用增添引用,但是现在美中不足的是,如果用户的U盘可用容量不足,则无法在复制前触发提示,看有哪位高手帮助解决?万谢。
附:检测移动硬盘或U盘的例子。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2010-10-18 01:56:12 | 显示全部楼层
谢谢xryacc2 提供!
发表于 2010-10-18 09:15:43 | 显示全部楼层
收下了,研究研究
 楼主| 发表于 2010-10-19 14:36:55 | 显示全部楼层
持续等待高手。
发表于 2010-10-19 16:25:05 | 显示全部楼层
本帖最后由 todaynew 于 2010-10-19 16:42 编辑

好像不需要API,用文件对象即可。


Function GetDrive() As String
'引用:Microsoft Scripting Runtime
'功能:返回驱动器字符串。
'示例:me.驱动器列表.RowSource="驱动器;类型;空间;可用空间;" & GetDrive     列表框或组合框列标题选是
Dim myFSO As New FileSystemObject
Dim myDr As Drive
Dim t As String
For Each myDr In myFSO.Drives
    If myDr.DriveType = Fixed Or myDr.DriveType = Removable Then
        Select Case myDr.DriveType
            Case Fixed
                t = "Fixed"
            Case Removable
                t = "Removable"
        End Select
        GetDrive = GetDrive & myDr.DriveLetter & ":-" & myDr.ShareName & ";" & t & ";"
        GetDrive = GetDrive & myDr.TotalSize / 1024 & ";" & myDr.FreeSpace / 1024 & ";"
    End If
Next myDr
End Function

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2010-10-19 20:22:48 | 显示全部楼层
高手啊,只不过又要引用Microsoft Scripting Runtime,我一直避免引用这个,听说这个东东会引起很大漏洞问题,引用它要不要紧啊?
发表于 2011-7-2 20:07:10 | 显示全部楼层
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-3-29 17:43 , Processed in 0.113841 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表