我有一段VBA代码,如下所示
VSN = Hex(Format(CDbl(FSO.Drives(FSO.getDriveName(CurrentProject.path)).SerialNumber)))
这是我检索用户卷序列号的地方。这在本地硬盘驱动器上运行良好,但是它并不在映射的网络驱动器上(我猜测)没有驱动器前缀(例如C:或D :)用于函数FSO.getDriveName。它在FSO.Drives()上失败了,因为它没有可用的驱动器号。
有谁知道如何解决这个问题?
顺便说一下,代码产生的错误如下:运行时错误' 5':无效的程序调用或争论。
提前感谢任何回复/建议。
答案 0 :(得分:0)
我无法在Access 2010下重新创建您的问题。代码......
Option Compare Database
Option Explicit
Sub DriveSerialNumberTest()
Dim fso As Object 'FileSystemObject
Dim VSN As String
Set fso = CreateObject("Scripting.FileSystemObject")
Debug.Print fso.GetDriveName(CurrentProject.Path)
VSN = Hex(Format(CDbl(fso.GetDrive(fso.GetDriveName(CurrentProject.Path)).SerialNumber)))
Debug.Print VSN
Set fso = Nothing
End Sub
...通过映射的驱动器号从网络共享打开数据库时,在立即窗口中返回以下内容...
Z:
DCF1295E
...当通过UNC路径从网络共享打开数据库时,它返回以下内容...
\\Weezer\Public
DCF1295E