我已经创建了VBA代码,以便我们公司中的一组人可以在网络驱动器上的Excel表中“盖章”一个单词文档的唯一编号(实质上是给出一个serial#)。这些人无法访问上述网络驱动器,但我希望他们能够执行VBA代码。
在过去的几天里,我一直在阅读这个网站上的各种文章和其他文章,并且能够使this post适应于我的工作。但是,如果我多次尝试执行VBA代码,我就会得到原始答案中描述的“多个连接”错误。因此,映射的驱动器似乎没有被移除。这是一个简单的语法问题吗?还是我在RemoveNetworkDrive
语句中遗漏了什么?
ServerShare = "\\Servername\path"
UserName = "domain\username"
Password = "password"
Set NetworkObject = CreateObject("WScript.Network")
Set FSO = CreateObject("Scripting.FileSystemObject")
NetworkObject.MapNetworkDrive "", ServerShare, False, UserName, Password
str_WbPath = ServerShare & "\MRL Number Generator.xlsm"
Set exWb = objExcel.Workbooks.Open(str_WbPath)
'Do Stuff in excel
Set exWb = Nothing
Set FSO = Nothing
NetworkObject.RemoveNetworkDrive ServerShare, True, False
Set NetworkObject = Nothing
发布于 2016-07-26 16:30:16
我告诉你这对我有用。我用了一个驱动器,然后我删除了驱动器。
'This insures you find a empty drive letter
For i = 67 To 90
netDrive = Chr(i) & ":"
If Not fs.DriveExists(netDrive) Then Exit For
Next
'mount network drive on the above selected drive letter
Network.MapNetworkDrive netDrive, ServerShare, False, UserName, Password
'DO STUFF
'DO STUFF
'remove that drive letter
Network.RemoveNetworkDrive netDrive, True, True
我也会把移除放在一些错误处理上,否则如果你有一些错误的话,你会产生一堆驱动器。
https://stackoverflow.com/questions/38575446
复制相似问题