Cómo usar un procedimiento VBA para eliminar la página actual en un documento de Word
El artículo "Cómo utilizar un procedimiento VBA que elimina la página actual en un documento de Word" te muestra cómo usar un procedimiento VBA para eliminar la página actual en Microsoft Word. Es útil si estás en la página que deseas eliminar. Cuando necesitas seleccionar la página antes de eliminarla, necesitarás un poco más de código.
En este tutorial, te mostraré un procedimiento VBA simple que solicita un número de página al usuario y luego lo elimina. Posteriormente, no necesitas estar en la página que eliminas, puedes estar en cualquier parte del documento.
Estoy utilizando Microsoft 365 en un sistema Windows 10 de 64 bits, pero puedes utilizar versiones anteriores. Word en la web no admite macros VBA. Para tu comodidad, puedes descargar los archivos de demostración .docm, .doc y .cls.
Cómo funciona la macro VBA en Word
El procedimiento en Código A declara y define algunas variables antes de solicitar un número de página al usuario con una instrucción InputBox(). El código guarda el valor de entrada del usuario en la variable pge. La segunda instrucción Set selecciona la página identificada por pge. La siguiente instrucción utiliza un marcador especial para seleccionar toda la página. La última instrucción rng.Delete elimina la página seleccionada. Una última instrucción Set destruye el objeto rng.
Hay un mínimo de manejo de errores. Si ocurre un error no controlado, la instrucción MsgBox() mostrará el número y descripción de ese error. Por ejemplo, si el usuario ingresa algo que no sea un número, la función MsgBox() mostrará el mensaje "13: Error de tipo".
Código A
Cómo solucionar problemas de búsqueda en Microsoft Outlook: Guía paso a pasoSub EncontrarEliminarPágina()
'Ir a una página específica y eliminarla.
Dim rng As Range
Dim pge As Integer
On Error GoTo ManejoError:
pge = InputBox("Por favor, ingresa el número de la página que deseas eliminar.", "Eliminar página")
Set rng = ActiveDocument.Range(0, 0)
Set rng = rng.GoTo(What:=wdGoToPage, Name:=pge)
Set rng = rng.GoTo(What:=wdGoToBookmark, Name:="\page")
rng.Delete
Set rng = Nothing
Exit Sub
ManejoError:
MsgBox Err.Number & ": " & Err.Description
Set rng = Nothing
End Sub
Ahora ingresaremos el procedimiento VBA.
Cómo ingresar el procedimiento VBA en Word
Si estás familiarizado con VBA, probablemente puedas omitir esta sección y pasar directamente a la siguiente sección, donde ejecutaremos el procedimiento para ver cómo funciona.
¡Aprende Excel avanzado y obténlo de por vida a un precio único!Para ingresar el procedimiento, presiona Alt + F11 para abrir el Editor de Visual Basic. En el Explorador de Proyectos a la izquierda, selecciona ThisDocument. Si ingresas el código manualmente, no pegues desde esta página web. En su lugar, copia el código en un editor de texto y luego pega ese código en el módulo ThisDocument. De esta manera, se eliminarán cualquier caracter extraño que pueda causar errores.
Si estás utilizando una versión con cinta, asegúrate de guardar el documento como un archivo habilitado para macros. Si estás trabajando en la versión de menú, puedes omitir este paso. Ahora, ejecutemos el procedimiento y veamos cómo funciona.
Cómo ejecutar el procedimiento
Utilizaremos el procedimiento para eliminar una página en el documento de cinco páginas mostrado en Figura A. Hay dos cosas a destacar antes de hacerlo:
- Este procedimiento no eliminará la última página. Eliminará el contenido, pero no eliminará la página.
- Si tu esquema de numeración de páginas no refleja el número de página real, por ejemplo, supongamos que comienzas el número de página en la página 2 para que el número de página en el encabezado muestre 1 en lugar de 2, VBA tendrá esto en cuenta y eliminará la página que muestra la página 2, que sería la página 3 según el recuento real.
Figura A
Cada página muestra un color de fuente diferente y un número de página en el encabezado. Esto es para que puedas distinguir visualmente que el procedimiento elimina una página. Ten en cuenta que la página 2, la página que se eliminará, está en verde.
Antes de ejecutar el procedimiento, haz clic dentro de cualquier página que no sea la 2. La macro eliminará la página actual sin problemas, pero quiero que veas que también eliminará una página que no sea la página actual, ese es el enfoque de este procedimiento.
Cómo combinar valores en una sola columna de Excel a una fila únicaHaz clic en la pestaña Desarrollador y luego en Macros en el grupo Código. En el cuadro de diálogo resultante, selecciona EncontrarEliminarPágina(), como se muestra en Figura B, y haz clic en Ejecutar.
Figura B
Cuando el código muestre el InputBox(), ingresa 2, como se muestra en Figura C, y haz clic en Aceptar.
Figura C
Figura D
Cómo instalar y usar el plugin de Bitwarden en ChromeComo se puede ver en Figura D, la página verde, página 2, ha desaparecido y la página tres (púrpura) se ha movido a la página 2.
Lo más probable es que no quieras pasar por todos esos pasos para ejecutar esta macro. Te recomiendo que la añadas a la Barra de Acceso Rápido o a un grupo personalizado. Si necesitas ayuda con esto, lee Cómo agregar macros de Office a la barra de acceso rápido para un acceso rápido.
En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Software, allí encontraras muchos artículos similares a Cómo usar un procedimiento VBA para eliminar la página actual en un documento de Word , tenemos lo ultimo en tecnología 2023.
Artículos Relacionados