Como obter o nome da pasta de trabalho usando vba (com exemplos)
Você pode usar os seguintes métodos no VBA para obter o nome de uma pasta de trabalho do Excel:
Método 1: Obtenha o nome da pasta de trabalho ativa
Function GetWorkbookName() As String GetWorkbookName = ActiveWorkbook.Name End Function
Esta função retornará o nome da pasta de trabalho ativa, como my_vba_workbook.xlsm .
Método 2: obter o nome da pasta de trabalho ativa sem extensão
Function GetWorkbookName() As String GetWorkbookName = Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, " . ") - 1) End Function
Esta função retornará o nome da pasta de trabalho ativa sem a extensão como my_vba_workbook .
Os exemplos a seguir mostram como usar cada método na prática com uma pasta de trabalho do Excel atualmente ativa chamada my_vba_workbook.xlsm .
Exemplo 1: Obtenha o nome da pasta de trabalho ativa
Podemos criar a seguinte função para obter o nome da pasta de trabalho ativa:
Function GetWorkbookName() As String GetWorkbookName = ActiveWorkbook.Name End Function
Poderíamos então digitar a seguinte fórmula na célula A1 para obter o nome da pasta de trabalho ativa:
=GetWorkbookName()
A captura de tela a seguir mostra como usar esta fórmula na prática:
Podemos ver que a fórmula retorna my_vba_workbook.xlsm , que é o nome da pasta de trabalho atualmente ativa que estamos usando.
Nota : A extensão .xlsm representa uma pasta de trabalho do Excel habilitada para macro.
Exemplo 2: Obtenha o nome da pasta de trabalho ativa sem extensão
Podemos criar a seguinte função para obter o nome da pasta de trabalho ativa sem a extensão:
Function GetWorkbookName() As String GetWorkbookName = Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, " . ") - 1) End Function
Poderíamos então digitar a seguinte fórmula na célula A1 para obter o nome da pasta de trabalho ativa:
=GetWorkbookName()
A captura de tela a seguir mostra como usar esta fórmula na prática:
Podemos ver que a fórmula retorna my_vba_workbook , que é o nome da pasta de trabalho atualmente ativa sem a extensão .xlsm .
Nota : Usando as funções Left e Instr , podemos extrair todos os caracteres do nome da pasta de trabalho à esquerda do ponto.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:
Como criar pastas usando VBA
Como deletar pastas usando VBA
Como renomear um arquivo usando VBA
Como verificar se o arquivo existe usando VBA