Nombre del libro de trabajo de VBA (obtener, configurar, sin extensión)

Este tutorial demostrará cómo obtener y configurar el nombre del libro de trabajo en VBA.

Podemos obtener o establecer el nombre del libro de trabajo activo en VBA, o recorrer todos los libros de trabajo abiertos en Excel, y obtener o establecer el nombre de cada uno de ellos usando un bucle de VBA.

Obtener el nombre del libro de trabajo

Para obtener el nombre del libro de trabajo activo, necesitamos usar la propiedad de nombre del objeto de libros de trabajo.

12345 Sub GetWorkbookName ()Dim strWBName como cadenastrWBName = ActiveWorkbook.NameMsgBox strWBNameEnd Sub

Si tuviéramos que ejecutar el código anterior, veríamos aparecer un cuadro de mensaje en la pantalla con el nombre del libro activo.

Para recorrer todos los libros de trabajo activos y devolver los nombres de los libros de trabajo a Excel, podemos ejecutar el siguiente código:

1234567 Sub GetWorkbookNames ()Dim wb como libro de trabajoPara cada wb en libros de trabajoActiveCell = wb.NameActiveCell.Offset (1, 0) .SeleccionarpróximoEnd Sub

Los ejemplos anteriores incluirán la extensión del archivo (por ejemplo, xlsx). Si no desea incluir la extensión, existen algunos métodos que podemos usar para obtener solo el nombre de archivo del libro de trabajo.

Obtener el nombre del libro de trabajo sin extensión

Podemos usar las funciones LEFT e INSTR para eliminar cualquier carácter después del punto en el nombre del archivo:

12345 Sub GetWorkbookName ()Dim strWBName como cadenastrWBName = Izquierda (ActiveWorkbook.Name, InStr (ActiveWorkbook.Name, ".") - 1)MsgBox strWBNameEnd Sub

Podemos usar las funciones LEFT y LEN para eliminar 5 caracteres del final del nombre del archivo:

12345 Sub GetWorkbookName ()Dim strWBName como cadenastrWBName = Izquierda (ActiveWorkbook.Name, Len (ActiveWorkbook.Name) - 55)MsgBox strWBNameEnd Sub

Establecer el nombre del libro de trabajo

Para establecer el nombre de un libro de trabajo en VBA, todavía usamos la propiedad Name del libro de trabajo, sin embargo, no podemos usar este método para cambiar el nombre del libro de trabajo activo. Esto se debe al hecho de que el libro activo está abierto y se producirá un error de acceso al archivo. Para superar esto, podemos guardar el archivo con un nuevo nombre y luego eliminar el archivo anterior.

12345678910 Public Sub SetWorkbookName ()Dim strPath como cadenaDim strNewName como cadenaDim strOldName como cadenastrOldName = ActiveWorkbook.NamestrNewName = InputBox ("Ingrese un nuevo nombre para el libro de trabajo")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNewNameMata a strPath & "/" & strOldNameEnd Sub

Para cambiar el nombre de un libro de trabajo que no está abierto, podemos usar el método Name.

123 Libro de trabajo de cambio de nombre de sub público ()Nombre "C: \ Data \ MyFile.xlsx" como "C: \ Data \ MyNewFile.xlsx"End Sub

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave