2

快速背景:我为一家使用网络共享驱动器在员工之间共享信息的公司编写了 excel 宏

问题:不同的员工在不同的字母下列出了相同的共享驱动器。例如,Susie 将“Commissions Shared Drive”作为驱动器“Z”,但 Betty 将其作为驱动器“x”。

我将设计一个两个不同的人使用的宏,但由于它们有不同的驱动器号,宏会出错。简而言之,由于驱动器号的不同,代码中写入的文件位置对于两个人来说都是不正确的。

当前解决方案:我目前有一个完全相同的宏的副本,其中对文件位置进行了更改以解决驱动器号的差异。这很烦人,因为每当我对一个文件进行更改时,我都必须确保另一个文件完全相同。

问题:有没有一种方法可以在一个宏中说明不同的驱动器号,这样我就不必拥有具有不同地址的文件的副本?

提前致谢!

-麦克风

4

2 回答 2

4

使用实际的网络路径。

例如,而不是像

Z:\filename

采用

\\servername\foldername\filename

只要用户有权访问该路径,无论驱动器映射如何,代码都会找到它。

编辑:您可以查看此问题及其答案,原因是您不应在代码中使用映射的驱动器号。附带说明一下,如果您使用的是比 Excel 宏更不可更新的东西,那么最好不要将路径实际存储在代码中。相反,您将拥有一个文件,代码查看该文件以获取路径。因此,您编写的内容将工作更长时间,而无需重新编译或修改。但同样,由于您只是在执行 Excel 宏,我认为没有令人信服的理由不使用直接路径。

于 2012-07-17T19:49:55.860 回答
0

@Daniel Cook 我还找到了另一条可用于引用共享驱动器的路径。

如果您右键单击共享驱动器并转到属性> DFS(DFS 是属性窗口中的一个选项卡),它们会在那里列出一个单独的有效路径。我创建了一个宏来测试两条路径并且都有效。

但是,我的一位同事说他使用 \servername\foldername\filename 的路径方法为另一名员工制作了一个宏,但由于某种原因它在她的计算机上不起作用,但是当他使用 DFS 选项卡中的其他路径时在共享驱动器的属性下,它对她有用。

任何想法为什么 \servername\foldername\filename 路径可能在一台计算机上而不是另一台计算机上工作?

于 2012-07-18T12:37:11.167 回答