VBA工作簿地址

3

我正在编写一个宏,名为MACRO的工作簿,需要打开另一个工作簿,我们称之为OPEN

问题在于,工作簿OPENMACRO都在网络上,而OPEN的地址取决于运行宏的人。

也就是说,如果我运行这个宏,地址就是:

X:\Destkop\OPEN.xlsm

但是,例如,如果该宏由另一个人运行,则地址可能会改变:

Y:\Destkop\OPEn.xlsm

对于宏来说,无法打开工作簿OPEN,因此无法运行代码。

我使用以下代码获取地址:

activeworkbook.fullname 

但问题在于,这段代码将返回我电脑上“OPEN”的地址,而不是在“网络”上。

有没有任何方法可以知道/获取放置在网络上的任何工作簿的地址???

1个回答

3

使用UNC地址而不是映射的驱动器字母。X:\Y:\很可能是指向同一位置的不同别名(暂且这么称呼),该位置也可以用UNC形式表示

\\ServerName\SharedFolder\

因此,完整的路径应为\\ServerName\SharedFolder\Desktop\Open.xlsm

您应该能够在命令中使用它来打开工作簿,无论他们将共享映射到哪个驱动器号或者是否映射了,只要他们可以访问它。


顺便提一下,如果您不知道UNC路径,请在计算机上打开命令行窗口(只需在“开始”菜单的搜索程序和文件框中键入cmd即可打开一个),然后输入net use并按[Enter]以查看网络共享等内容。 - Alan K

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接