如何在 Excel 中获取活动工作簿的位置/路径?
本文将指导用户学习如何使用三种可能的方法在 Excel 中获取活动工作表的位置/路径。本文包含三个示例。第一个示例基于用户自定义公式。第二个示例基于 VBA 代码的使用,最后第三个示例使用了 Kutools 扩展。所有三个示例都使用相同的 Excel 工作表来显示处理过程。提供的三个示例将精确地执行相同的任务,但使用不同的方法。本文的主要目的是了解执行相同任务的不同方法。
示例 1:使用用户自定义公式获取 Excel 中活动工作簿的位置
步骤 1
为了理解示例及其精确的工作原理,请考虑以下给定的工作表。
步骤 2
在此步骤中,用户将能够使用用户定义的公式确定单元格的位置。键入以下给定的公式“=LEFT(CELL("filename",C2),FIND("[",CELL("filename",C2))-1)”。请参考代码截图以了解数据处理过程。
公式说明
CELL("filename",C2) 返回当前工作簿的完整路径,包括工作簿名称和扩展名。
FIND("[",CELL("filename",C2)) 查找文件路径中第一个左方括号 ("[") 的位置。这用于识别工作簿名称的开头并从结果中排除路径。
LEFT(CELL("filename",C2),FIND("[",CELL("filename",C2))-1) 提取完整路径中最左侧的字符,直到左方括号的位置减去一个字符。这有效地删除了工作簿名称和扩展名,只留下路径。
步骤 3
提供的快照包含当前工作簿的完整路径。
步骤 4
要获取所需的工作簿位置和工作簿名称,请使用以下提供的公式:
=SUBSTITUTE( LEFT(CELL("filename",c2),FIND("]",CELL("filename",c2))-1),"[","")
请参考快照 -
公式说明
CELL 函数检索有关包含公式的单元格的信息。
"filename" 参数指定函数应返回当前工作簿的完整路径和文件名。
c2 参数告诉函数检索第 2 行和 C 列中单元格的信息。
LEFT 函数从返回的文件名中检索最左侧的字符,直到特定数量的字符。
FIND 函数在提取的文件名中找到 "]" 字符第一次出现的位置。
" -1" 参数用于通过减去 1 来调整 FIND 函数返回的位置,以便 "]" 字符不包含在结果中。
SUBSTITUTE 函数将文件名中的 "[" 字符替换为空字符串,有效地将其从结果中删除。
示例 2:使用 VBA 代码获取 Excel 中活动工作簿的位置
步骤 1
使用上面指定的相同 Excel 工作表。之后,点击“开发工具”选项卡,然后在“代码”部分下,点击“Visual Basic”选项。此步骤将允许用户打开 Visual Basic 编辑器。
步骤 2
上述步骤将为用户打开一个“Microsoft Visual Basic for Application”对话框:
步骤 3
转到“插入”选项卡,然后选择名为“模块”的选项。请参考图像快照:
步骤 4
请考虑以下给定的代码:
' method name Sub function_to_dis_wrk_path() ' display data to msgbox MsgBox ActiveWorkbook.Path, vbInformation, "Workbook Path" ' end of sub module End Sub
请使用正确的缩进编写代码以避免语法错误。下面提供了编码窗口的完整快照:
步骤 5
上述步骤将打开名为“宏”的对话框。之后,选择模块的名称并点击“运行”按钮以获取生成的结果。
步骤 6
上述步骤将显示一个名为“工作簿路径”的对话框。此对话框包含工作簿路径。最后,点击“确定”按钮。
示例 3:使用 Kutools 选项获取 Excel 中活动工作簿的位置
步骤 1
要将工作簿信息插入 Excel 工作表。转到“Kutools Plus”选项卡并选择“工作簿和工作表”。之后,在“工作簿”选项下,选择“插入工作簿信息”选项。
步骤 2
上述步骤将打开一个“插入工作簿信息”对话框。此选项包含“工作表名称”标签,并且在“插入位置”标签中,在范围选项中添加一个有效的范围以显示数据。对于此示例,在范围标签下,添加“A1”值。在标题部分,选择“左对齐”选项。最后,点击“确定”按钮。请参考以下给定的快照:
步骤 3
最终显示的路径将显示在 A1 单元格中。
结论
有时,用户会忘记查找活动工作簿的位置。本文在示例中演示了各种用户自定义函数和 VBA 代码来获取活动工作表的位置。请确保 VBA 代码中的语句必须小心编写才能成功运行程序代码,否则可能会发生错误并产生意外的结果。