Excel VBA函数名称parsing,加载项vs本地模块

考虑以下情况。 我有一个名为“X”的Excel加载项,其中包含一个名为“Z”的函数。 通过“文件”>“选项”>“加载项”在Excel中启用加载项“X”。

我打开一个启用macros的Excel工作簿,其中包含名为“A”的模块,其中包含名为“Z”的函数。 (我将称之为'Z'的'本地'版本。)

问题1)如果我从工作表单元格'= Z()'调用函数'Z',哪个函数默认调用'Z'? 加载项“Z”或本地“Z”? (如果有人可以指向我在Excel VBA中描述名称范围和名称parsing的文档,那将是值得赞赏的。)

问题2)在工作表单元格中,是否有任何语法可以用来明确地调用一个或另一个函数“Z”(即“本地”Z或加载项“Z”)?

问题3)在启用macros的工作簿中,当工作表单元格调用函数“= Z()”时,Excel会默认调用“Z”的插件版本。 如果我断开“Z”(Excel RIBBON栏>数据选项卡>连接库>编辑链接button)加载项版本的链接,Excel将打破所有调用'= Z()'=> '#名称?'。 有没有办法让Excel中断到加载项“Z”的链接,而不是调用“= Z()”的所有工作表单元格而是调用本地的“Z”?

答案2)考虑到启用macros的工作表的文件名是'k.xlsm',函数名称parsing可以在工作表单元格内强制执行,函数调用'= Z()'的前缀为文件名(或完整path)启用macros的工作簿:

='k.xlsm'!Z()