如何使用 vba 获取工作簿名称(附示例)
您可以在 VBA 中使用以下方法来获取 Excel 工作簿的名称:
方法 1:获取活动工作簿名称
Function GetWorkbookName() As String GetWorkbookName = ActiveWorkbook.Name End Function
此函数将返回活动工作簿的名称,例如my_vba_workbook.xlsm 。
方法 2:获取不带扩展名的活动工作簿名称
Function GetWorkbookName() As String GetWorkbookName = Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, " . ") - 1) End Function
此函数将返回活动工作簿的名称,不带扩展名,例如my_vba_workbook 。
以下示例展示了如何在实践中对当前活动的 Excel 工作簿(名为my_vba_workbook.xlsm )使用每种方法。
示例 1:获取活动工作簿的名称
我们可以创建以下函数来获取活动工作簿的名称:
Function GetWorkbookName() As String GetWorkbookName = ActiveWorkbook.Name End Function
然后,我们可以在单元格A1中键入以下公式来获取活动工作簿的名称:
=GetWorkbookName()
以下屏幕截图显示了如何在实践中使用该公式:
我们可以看到该公式返回my_vba_workbook.xlsm ,这是我们正在使用的当前活动工作簿的名称。
注意: .xlsm扩展名代表启用宏的 Excel 工作簿。
示例 2:获取不带扩展名的活动工作簿名称
我们可以创建以下函数来获取不带扩展名的活动工作簿的名称:
Function GetWorkbookName() As String GetWorkbookName = Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, " . ") - 1) End Function
然后,我们可以在单元格A1中键入以下公式来获取活动工作簿的名称:
=GetWorkbookName()
以下屏幕截图显示了如何在实践中使用该公式:
我们可以看到该公式返回my_vba_workbook ,它是当前活动工作簿的名称,不带.xlsm扩展名。
注意:使用Left和Instr函数,我们可以提取工作簿名称中点左侧的所有字符。
其他资源
以下教程说明如何在 VBA 中执行其他常见任务: