在VBA中,Name和FullName有什么区别?

5

在我的代码中,我正在编写一个公式,该公式引用了我之前定义的工作簿。我想知道名称(Name)属性和全名(FullName)属性之间有什么区别?微软官网上似乎并没有清楚地区分这两个属性。

4个回答

11
< p > < code > Name 将返回文件的名称(例如:workbook.xlsx

< p > < code > FullName 将返回文件的路径及名称(例如:c:\myDocuments\workbook.xlsx

< p > < code > Path 将返回文件的路径(例如:c:\myDocuments


1
你能否解释一下,在什么情况下我会需要文件路径而不是仅仅文件名? - Stephanie
1
你可能需要Path以便在同一目录中保存或打开其他文件。 - cybernetic.nomad

2
你可以在即时窗口中快速检查(在VBEditor中按CTRL+G),并输入以下内容:
"最初的回答"
?Thisworkbook.Name
2019 Workbook Test.xlsm
?thisworkbook.FullName
K:\Excel Files\Primary Data\2019 Workbook Test.xlsm

0

完整名称包括文件路径。


1
@avariant 这个问题询问NameFullName属性的区别;这个回答试图解释。 - slothiful

0
请注意,如果工作簿尚未保存,.Name.FullName只会返回"Book1"或类似的内容。只有在工作簿被保存后,它们才会拥有完整的数据,例如"Book1.xlsm""C:\path...\Documents\Book1.xlsm"
另外,如果使用ThisWorkbook.NameThisWorkbook.Fullname,它们将指向您的代码所在的工作簿。例如,如果代码位于您的文档文件夹中的工作簿中,则它们将如上所述。但是,如果您正在个人宏工作簿中编写代码,则它们将显示Personal.xlsbC:\Users\[用户名]\AppData\Roaming\Microsoft\Excel\XLStart\Personal.xlsb(或类似内容)。

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