首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用vba访问具有不同凭据的网络excel文件?

如何使用vba访问具有不同凭据的网络excel文件?
EN

Stack Overflow用户
提问于 2016-07-25 18:54:33
回答 1查看 4.5K关注 0票数 4

我已经创建了VBA代码,以便我们公司中的一组人可以在网络驱动器上的Excel表中“盖章”一个单词文档的唯一编号(实质上是给出一个serial#)。这些人无法访问上述网络驱动器,但我希望他们能够执行VBA代码。

在过去的几天里,我一直在阅读这个网站上的各种文章和其他文章,并且能够使this post适应于我的工作。但是,如果我多次尝试执行VBA代码,我就会得到原始答案中描述的“多个连接”错误。因此,映射的驱动器似乎没有被移除。这是一个简单的语法问题吗?还是我在RemoveNetworkDrive语句中遗漏了什么?

代码语言:javascript
运行
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-26 16:30:16

我告诉你这对我有用。我用了一个驱动器,然后我删除了驱动器。

代码语言:javascript
运行
复制
'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

我也会把移除放在一些错误处理上,否则如果你有一些错误的话,你会产生一堆驱动器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38575446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档