Nome da pasta de trabalho VBA (obter, definir, sem extensão)

Este tutorial demonstrará como obter e definir o nome da pasta de trabalho no VBA.

Podemos obter ou definir o nome da pasta de trabalho Ativa no VBA, ou fazer um loop por todas as pastas de trabalho abertas no Excel e obter ou definir o nome de cada uma delas usando um Loop do VBA.

Obter nome da pasta de trabalho

Para obter o nome da pasta de trabalho ativa, precisamos usar a propriedade name do objeto pastas de trabalho.

12345 Sub GetWorkbookName ()Dim strWBName As StringstrWBName = ActiveWorkbook.NameMsgBox strWBNameEnd Sub

Se executássemos o código acima, veríamos uma caixa de mensagem aparecer na tela com o nome da pasta de trabalho Ativa.

Para percorrer todas as pastas de trabalho ativas e retornar os nomes das pastas de trabalho ao Excel, podemos executar o seguinte código:

1234567 Sub GetWorkbookNames ()Dim wb como pasta de trabalhoPara cada wb nas pastas de trabalhoActiveCell = wb.NomeActiveCell.Offset (1, 0) .SelecionarPróximoEnd Sub

Os exemplos acima incluirão a extensão do arquivo (por exemplo, xlsx). Se você não quiser incluir a extensão, existem alguns métodos que podemos usar para obter apenas o nome do arquivo da pasta de trabalho.

Obter nome da pasta de trabalho sem extensão

Podemos usar as funções LEFT e INSTR para remover quaisquer caracteres após o ponto no nome do arquivo:

12345 Sub GetWorkbookName ()Dim strWBName As StringstrWBName = Left (ActiveWorkbook.Name, InStr (ActiveWorkbook.Name, ".") - 1)MsgBox strWBNameEnd Sub

Podemos usar as funções LEFT e LEN para remover 5 caracteres do final do nome do arquivo:

12345 Sub GetWorkbookName ()Dim strWBName As StringstrWBName = Left (ActiveWorkbook.Name, Len (ActiveWorkbook.Name) - 55)MsgBox strWBNameEnd Sub

Configurando o nome da pasta de trabalho

Para definir o nome de uma pasta de trabalho no VBA, ainda usamos a propriedade Name da pasta de trabalho, no entanto, não podemos usar esse método para alterar o nome da pasta de trabalho ativa. Isso ocorre porque a pasta de trabalho Ativa está aberta e ocorrerá um erro de acesso ao arquivo. Para superar isso, podemos salvar o arquivo com um novo nome e, em seguida, excluir o arquivo antigo.

12345678910 Sub SetWorkbookName público ()Dim strPath As StringDim strNewName As StringDim strOldName As StringstrOldName = ActiveWorkbook.NamestrNewName = InputBox ("Insira um novo nome para a pasta de trabalho")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNewNameMate strPath & "/" & strOldNameEnd Sub

Para renomear uma pasta de trabalho que não está aberta, podemos usar o método Name.

123 Public Sub RenameWorkbook ()Nome "C: \ Data \ MyFile.xlsx" Como "C: \ Data \ MyNewFile.xlsx"End Sub

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave