Excel VBA - 下一个可用的驱动函数
Excel VBA - next aviable drive function
我有一个子程序可以从 excel 列表映射 pc-s 的共享 c: 驱动器,该脚本的一部分是一个可以 return 下一个可用驱动器的函数。它工作正常,但有一些小错误我想修复。
此函数的工作是检查下一个可用的驱动器号,return 它用于主子。该函数唯一的问题是,在它处理完字母 'D:',...,'Z:' 后,下一个字母 returns 是“[”。我想给出一个错误信息,在最后一个之后没有更多可用的驱动器号。
Private Function NextAvailableDrive() As String
Dim iDrive As Integer
Dim iFirst As Integer
Dim iFirstFree As Integer, sFirstFree As String
Dim sNextDrive As String
iDrive = 67 'starts looking at D:\
Do
iDrive = iDrive + 1
sNextDrive = Chr$(iDrive) + ":"
iFirstFree = GetDriveType(sNextDrive)
'Function returns 1 if drive is available
Loop Until iFirstFree = 1
sFirstFree = Chr$(iDrive) + ":"
NextAvailableDrive = sFirstFree
End Function
谢谢
只需将代码放入 Do
循环中以检查是否 i > 90
(字母 "Z")并抛出一条消息。
我有一个子程序可以从 excel 列表映射 pc-s 的共享 c: 驱动器,该脚本的一部分是一个可以 return 下一个可用驱动器的函数。它工作正常,但有一些小错误我想修复。
此函数的工作是检查下一个可用的驱动器号,return 它用于主子。该函数唯一的问题是,在它处理完字母 'D:',...,'Z:' 后,下一个字母 returns 是“[”。我想给出一个错误信息,在最后一个之后没有更多可用的驱动器号。
Private Function NextAvailableDrive() As String
Dim iDrive As Integer
Dim iFirst As Integer
Dim iFirstFree As Integer, sFirstFree As String
Dim sNextDrive As String
iDrive = 67 'starts looking at D:\
Do
iDrive = iDrive + 1
sNextDrive = Chr$(iDrive) + ":"
iFirstFree = GetDriveType(sNextDrive)
'Function returns 1 if drive is available
Loop Until iFirstFree = 1
sFirstFree = Chr$(iDrive) + ":"
NextAvailableDrive = sFirstFree
End Function
谢谢
只需将代码放入 Do
循环中以检查是否 i > 90
(字母 "Z")并抛出一条消息。