我需要通过VBA访问网络文件服务器上承载的文件夹。该文件夹只能通过服务帐户(与普通用户帐户不同)以书面形式进行访问,而我的用户名和密码也是可以的。访问共享网络文件夹
通过用户界面,我可以看到该文件夹并将其映射为本地驱动器,但为了以书面形式访问它,我需要从Windows注销并通过服务帐户登录。
有没有办法在正常的用户会话期间访问网络文件夹,但在VBA代码中硬编码username和pwd?
我也尝试了文件夹映射为本地驱动器:
Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.MapNetworkDrive "S:", "\\corp-server\HostingFolder", False, Username, pwd
,但没有工作(“S”驱动器并没有映射)。如果我没有提供用户名和密码,我可以做同样的事情:
Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.MapNetworkDrive "S:", "\\corp-server\HostingFolder"
它完美地工作。
想知道现在如果我想要做的事实际上是可能的?如果没有,是否有其他选择?
感谢
好东西,谢谢!由于我目前在家工作,我只能通过VPN试用您的代码,并且无法正常工作(返回了“错误的用户名或密码”错误)。使用和不使用用户名中的域名。我还能够通过在资源管理器中打开目标文件夹来重现上述错误(多个连接)。我现在需要测试什么时候回到办公室,但这听起来总体上对我很好,而且“必须”工作。如果你相信还有别的东西,我可以试着让我知道,否则我们周一再说吧! – cfugge 2014-12-17 17:30:45
这对我来说非常合适。非常感谢一个如此干净的编码。 – cfugge 2014-12-22 13:37:25
嘿,这段代码真棒。第一次工作时几乎没有按摩。干杯! – 2018-01-10 22:45:48