快速背景:我为一家公司编写 Excel 宏,该公司使用网络上的共享驱动器在员工之间共享信息
问题:不同的员工拥有在不同字母下列出的相同共享云端硬盘。例如,Susie 将“Commissions Shared Drive”作为驱动器“Z”,但 Betty 将其作为驱动器“x”。
我将设计一个由两个不同的人使用的宏,并且该宏会遇到错误,因为他们具有不同的驱动器号。 简单来说,由于盘符不同,代码中写入的文件位置对于两个人来说都是不正确的。
当前解决方案:我目前拥有完全相同的宏的副本,其中对文件位置进行了更改以解决驱动器号的差异。这很烦人,因为每当我对一个文件进行更改时,我都必须确保另一个文件完全相同。
问题:有没有一种方法可以在一个宏中考虑不同的驱动器号,这样我就不必拥有具有不同地址的文件副本?
提前致谢!
-迈克
最佳答案
使用实际的网络路径。
例如,而不是类似的东西
Z:\filename
使用
\\servername\foldername\filename
只要用户有权访问该路径,无论驱动器映射如何,代码都会找到它。
编辑: 您可以查看this question以及为什么您不应在代码中使用映射驱动器号的一些重要原因的答案。 附带说明一下,如果您使用的可更新性不如 Excel 宏,那么最好不要在代码中实际存储路径。相反,您将拥有一个文件,代码可以查看该文件来获取路径。因此,您编写的内容将可以使用更长时间,而无需重新编译或修改。但同样,由于您只是在执行 Excel 宏,所以我认为没有令人信服的理由不使用直接路径。
关于vba - 共享云端硬盘的不同字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11529660/