Cómo eliminar hipervínculos en Word (escritorio, en línea y C#)

2026-08-28 07:27:59 jie zou
AI Summarize:
ChatGPT
ChatGPT
Claude
Grok
Perplexity
Quick
Quick
Concise overview
Highlights
Key takeaways
Detailed
Structured explanation
Brief
One sentence summary
Summarize |

Guía visual sobre cómo eliminar hipervínculos individuales o por lotes en Word

Resumen rápido (TL;DR):

  • Uno o pocos hipervínculos: Haga clic derecho en el texto vinculado y seleccione Quitar hipervínculo.

  • Todos los hipervínculos en un documento:

    • Windows: Presione Ctrl + A, luego Ctrl + Shift + F9.

    • Mac: Presione Cmd + A, luego Cmd + Shift + F9. Si F9 está asignado a una función del sistema macOS, use Cmd + Fn + Shift + F9 o presione Cmd + 6.

  • Sin Word instalado: Use Word para la web para eliminar hipervínculos en un navegador.

  • Múltiples archivos de Word: Use el procesamiento por lotes en C# para eliminar hipervínculos automáticamente.

Los hipervínculos son útiles para compartir sitios web, referencias y otros recursos en un documento de Word. Pero cuando prepara un documento para imprimir, publicar o reutilizar, esos enlaces pueden volverse innecesarios o dejar un formato que ya no desea.

Esta guía muestra cómo eliminar hipervínculos en Word, desde eliminar enlaces individuales y todos los enlaces en Microsoft Word hasta automatizar la limpieza en múltiples archivos DOCX con C#.

Lo que aprenderá:

Eliminar un hipervínculo en Microsoft Word

Ideal para: Eliminar uno o pocos hipervínculos sin afectar el resto del contenido del documento.

Si solo necesita eliminar una pequeña cantidad de enlaces, el comando integrado de Word Quitar hipervínculo es la opción más segura y directa. Elimina el destino clicable mientras mantiene el texto mostrado en su lugar.

Este método es especialmente útil en documentos que contienen tablas de contenido, citas, referencias cruzadas u otros campos dinámicos, ya que solo se ve afectado el hipervínculo seleccionado.

Instrucciones paso a paso

  1. Abra el documento en Microsoft Word.

  2. Localice el hipervínculo que desea eliminar.

  3. Haga clic derecho sobre el texto vinculado.

  4. Seleccione Quitar hipervínculo.

    Menú contextual de Microsoft Word mostrando el comando Quitar hipervínculo

Resultado: El texto seleccionado permanece en el documento, pero ya no es clicable.

Texto de Word después de eliminar el hipervínculo

⚡ Consejo: Si desea eliminar tanto el hipervínculo como el texto mostrado, seleccione el texto y presione Suprimir o Retroceso en su lugar.

Eliminar todos los hipervínculos de un documento de Word a la vez

Ideal para: Eliminar rápidamente muchos hipervínculos de un documento de Word relativamente simple.

Eliminar docenas de enlaces uno por uno consume mucho tiempo. Word proporciona un atajo de teclado que puede eliminar hipervínculos del contenido seleccionado en una sola operación.

Eliminar todos los hipervínculos en Windows

  1. Presione Ctrl + A para seleccionar todo el contenido del documento. También puede seleccionar manualmente solo la sección que desea procesar.

  2. Presione Ctrl + Shift + F9.

Eliminar todos los hipervínculos en Mac

  1. Presione Cmd + A para seleccionar el contenido del documento.

  2. Presione Cmd + Shift + F9.
    ⚡ Consejo: Si su Mac usa F9 para una función del sistema o multimedia, use Cmd + Fn + Shift + F9 en su lugar, o presione Cmd + 6 para ejecutar el comando UnlinkFields de Word sin depender de la tecla F9.

Resultado: Todos los hipervínculos seleccionados se convierten en texto sin formato mientras se conserva la redacción original.

Documento de Word después de que los hipervínculos seleccionados se convierten en texto sin formato

⚠️ Importante: Verifique los campos dinámicos antes de usar este atajo

Ctrl + Shift + F9 no es un comando específico para hipervínculos. Es el comando general de Word Desvincular campo.

Esto significa que otros campos incluidos en la selección también pueden convertirse en texto estático. Estos pueden incluir:

  • Tablas de contenido generadas automáticamente

  • Referencias cruzadas

  • Campos de citas

  • Otros campos dinámicos de Word

Para informes, tesis, manuales u otros documentos que dependen de campos dinámicos, guarde una copia de seguridad antes de usar el atajo. Tenga en cuenta también que Ctrl + A normalmente selecciona el texto principal del documento. Es posible que los hipervínculos en encabezados y pies de página deban manejarse por separado.

Eliminar hipervínculos de Word Online

Ideal para: Eliminación ocasional de hipervínculos cuando la versión de escritorio de Microsoft Word no está disponible.

Si no tiene Word instalado, puede abrir su documento en Word para la Web para editar hipervínculos directamente en un navegador. Esto es conveniente para una pequeña cantidad de enlaces y no requiere instalación de software.

Opción A: La barra de herramientas emergente (la más rápida)

  1. Haga clic en el texto con hipervínculo.

  2. Haga clic en el icono de desvincular (un eslabón de cadena con una pequeña "X") en el lado derecho de la barra de herramientas emergente.

    Barra de herramientas emergente de Word para la web mostrando el icono de desvincular para un hipervínculo

Opción B: El menú de clic derecho

  1. Haga clic derecho en el texto con hipervínculo.

  2. Seleccione Quitar hipervínculo en el menú contextual.

¿No puede eliminar un hipervínculo en Word para la Web?

Algunos enlaces en Word para la Web pueden aparecer en gris o no ser editables. Las causas comunes incluyen:

  • Control de cambios: El enlace se creó o editó mientras el Control de cambios estaba habilitado.

  • Enlaces de varios párrafos: El enlace abarca varios párrafos y fue creado en la versión de escritorio de Word.

Solución: Haga clic en Abrir en la aplicación de escritorio (ubicado en el menú desplegable Edición en la cinta superior) y elimine los enlaces en el Word de escritorio.

Eliminar hipervínculos por lotes de documentos de Word con C#

Ideal para: Desarrolladores que automatizan el procesamiento de documentos en el backend, limpian archivos importados o procesan grandes colecciones de documentos de Word.

Los métodos manuales se vuelven ineficientes cuando se debe aplicar la misma limpieza en muchos archivos de Word. Esto es común al procesar documentos importados, preparar informes para publicar o archivar, o limpiar archivos generados por otro sistema.

En estos casos, la eliminación de hipervínculos puede incorporarse a un flujo de trabajo de C#. El siguiente ejemplo utiliza Spire.Doc for .NET para eliminar por lotes hipervínculos de múltiples archivos DOCX sin necesidad de tener instalado Microsoft Word.

Paso 1: Instalar la biblioteca de Word para .NET

Instale Spire.Doc for .NET a través de NuGet usando la Consola del Administrador de paquetes o la CLI de .NET.

Consola del Administrador de paquetes NuGet:

Install-Package Spire.Doc

CLI de .NET:

dotnet add package Spire.Doc

Después de la instalación, los espacios de nombres requeridos pueden ser referenciados directamente en su proyecto de C#.

Paso 2: Escribir código C# para eliminar hipervínculos por lotes de archivos DOCX

El siguiente ejemplo escanea una carpeta de entrada en busca de archivos .docx, identifica campos de hipervínculo en cada documento, elimina los campos de hipervínculo mientras conserva el texto mostrado y guarda los archivos procesados en una carpeta de salida separada.

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;

namespace Remove_Hyperlinks
{
    class Program
    {
        static void Main(string[] args)
        {
            string inputFolder = @"C:\WordFiles\Input";
            string outputFolder = @"C:\WordFiles\Output";

            // Crear la carpeta de salida si no existe
            Directory.CreateDirectory(outputFolder);

            // Procesar todos los archivos DOCX en la carpeta de entrada
            foreach (string inputFile in Directory.GetFiles(inputFolder, "*.docx"))
            {
                // Saltar archivos temporales de Word
                if (Path.GetFileName(inputFile).StartsWith("~$"))
                    continue;

                // Crear una instancia de Document
                Document doc = new Document();

                // Cargar un documento de Word
                doc.LoadFromFile(inputFile);

                // Encontrar todos los hipervínculos
                List<Field> hyperlinks = FindAllHyperlinks(doc);

                // Aplanar todos los hipervínculos
                for (int i = hyperlinks.Count - 1; i >= 0; i--)
                {
                    FlattenHyperlinks(hyperlinks[i]);
                }

                // Guardar el documento procesado
                string outputFile = Path.Combine(
                    outputFolder,
                    Path.GetFileName(inputFile));

                doc.SaveToFile(outputFile, FileFormat.Docx);
                doc.Close();

                Console.WriteLine(
                    $"Procesado: {Path.GetFileName(inputFile)}");
            }
        }

        // Obtener todos los hipervínculos del cuerpo del documento
        private static List<Field> FindAllHyperlinks(Document document)
        {
            List<Field> hyperlinks = new List<Field>();

            foreach (Section section in document.Sections)
            {
                foreach (DocumentObject sec in section.Body.ChildObjects)
                {
                    if (sec.DocumentObjectType == DocumentObjectType.Paragraph)
                    {
                        foreach (DocumentObject para
                                 in (sec as Paragraph).ChildObjects)
                        {
                            if (para.DocumentObjectType ==
                                DocumentObjectType.Field)
                            {
                                Field field = para as Field;

                                if (field.Type == FieldType.FieldHyperlink)
                                {
                                    hyperlinks.Add(field);
                                }
                            }
                        }
                    }
                }
            }

            return hyperlinks;
        }

        // Aplanar un campo de hipervínculo mientras se conserva su texto mostrado
        private static void FlattenHyperlinks(Field field)
        {
            int ownerParaIndex =
                field.OwnerParagraph.OwnerTextBody.ChildObjects
                    .IndexOf(field.OwnerParagraph);

            int fieldIndex =
                field.OwnerParagraph.ChildObjects.IndexOf(field);

            Paragraph sepOwnerPara =
                field.Separator.OwnerParagraph;

            int sepOwnerParaIndex =
                field.Separator.OwnerParagraph.OwnerTextBody.ChildObjects
                    .IndexOf(field.Separator.OwnerParagraph);

            int sepIndex =
                field.Separator.OwnerParagraph.ChildObjects
                    .IndexOf(field.Separator);

            int endIndex =
                field.End.OwnerParagraph.ChildObjects
                    .IndexOf(field.End);

            int endOwnerParaIndex =
                field.End.OwnerParagraph.OwnerTextBody.ChildObjects
                    .IndexOf(field.End.OwnerParagraph);

            FormatFieldResultText(
                field.Separator.OwnerParagraph.OwnerTextBody,
                sepOwnerParaIndex,
                endOwnerParaIndex,
                sepIndex,
                endIndex);

            // Eliminar el marcador de fin de campo
            field.End.OwnerParagraph.ChildObjects.RemoveAt(endIndex);

            // Eliminar el código de campo y el separador
            for (int i = sepOwnerParaIndex; i >= ownerParaIndex; i--)
            {
                if (i == sepOwnerParaIndex && i == ownerParaIndex)
                {
                    for (int j = sepIndex; j >= fieldIndex; j--)
                    {
                        field.OwnerParagraph.ChildObjects.RemoveAt(j);
                    }
                }
                else if (i == ownerParaIndex)
                {
                    for (int j =
                            field.OwnerParagraph.ChildObjects.Count - 1;
                         j >= fieldIndex;
                         j--)
                    {
                        field.OwnerParagraph.ChildObjects.RemoveAt(j);
                    }
                }
                else if (i == sepOwnerParaIndex)
                {
                    for (int j = sepIndex; j >= 0; j--)
                    {
                        sepOwnerPara.ChildObjects.RemoveAt(j);
                    }
                }
                else
                {
                    field.OwnerParagraph.OwnerTextBody.ChildObjects
                        .RemoveAt(i);
                }
            }
        }

        // Establecer el texto del hipervínculo retenido en negro y eliminar el subrayado
        private static void FormatFieldResultText(
            Body ownerBody,
            int sepOwnerParaIndex,
            int endOwnerParaIndex,
            int sepIndex,
            int endIndex)
        {
            for (int i = sepOwnerParaIndex;
                 i <= endOwnerParaIndex;
                 i++)
            {
                Paragraph para =
                    ownerBody.ChildObjects[i] as Paragraph;

                if (i == sepOwnerParaIndex &&
                    i == endOwnerParaIndex)
                {
                    for (int j = sepIndex + 1; j < endIndex; j++)
                    {
                        FormatText(para.ChildObjects[j] as TextRange);
                    }
                }
                else if (i == sepOwnerParaIndex)
                {
                    for (int j = sepIndex + 1;
                         j < para.ChildObjects.Count;
                         j++)
                    {
                        FormatText(para.ChildObjects[j] as TextRange);
                    }
                }
                else if (i == endOwnerParaIndex)
                {
                    for (int j = 0; j < endIndex; j++)
                    {
                        FormatText(para.ChildObjects[j] as TextRange);
                    }
                }
                else
                {
                    for (int j = 0;
                         j < para.ChildObjects.Count;
                         j++)
                    {
                        FormatText(para.ChildObjects[j] as TextRange);
                    }
                }
            }
        }

        // Establecer el texto del hipervínculo retenido en negro sin subrayado
        private static void FormatText(TextRange textRange)
        {
            if (textRange == null)
                return;

            textRange.CharacterFormat.TextColor = Color.Black;
            textRange.CharacterFormat.UnderlineStyle =
                UnderlineStyle.None;
        }
    }
}

Paso 3: Ejecutar el programa

Actualice las rutas de las carpetas de entrada y salida, coloque los archivos DOCX en la carpeta de entrada y ejecute la aplicación. Las copias limpias se guardarán en la carpeta de salida con sus nombres de archivo originales.

Para un lote grande, pruebe primero el programa en algunos documentos representativos.

Resultado:

Documento de Word de salida con hipervínculos eliminados usando C#

⚠️ Nota técnica: Este fragmento de C# se dirige a párrafos del cuerpo de nivel superior. Si sus documentos contienen hipervínculos anidados dentro de tablas, cuadros de texto o encabezados/pies de página, la lógica de recorrido debe extenderse para escanear esos elementos secundarios de forma recursiva.

El código también restablece el texto del hipervínculo retenido a negro y elimina su subrayado. Si solo necesita cambiar el color o eliminar el subrayado de los hipervínculos sin eliminar los enlaces, puede modificar el formato del hipervínculo por separado.

Bonus: Evitar que Word cree hipervínculos automáticamente

Si el problema real es que Word sigue convirtiendo URLs y direcciones de correo electrónico en enlaces mientras escribe, puede deshabilitar la creación automática de hipervínculos en lugar de eliminarlos repetidamente después.

En Word para Windows

  1. Haga clic en Archivo en la esquina superior izquierda, luego elija Opciones en la parte inferior de la barra lateral.

  2. Seleccione la categoría Revisión en el panel izquierdo.

  3. Haga clic en el botón Opciones de autocorrección... cerca de la parte superior.

  4. Cambie a la pestaña Autoformato mientras escribe.

  5. Desmarque la casilla junto a Rutas de Internet y red con hipervínculos.

  6. Haga clic en Aceptar para aplicar.

En Word para Mac

  1. Haga clic en Word en la barra de menú superior de Apple y seleccione Preferencias.

  2. Abra la herramienta Autocorrección en la sección Autoría.

  3. Cambie a la pestaña Autoformato mientras escribe.

  4. Desmarque Rutas de Internet y red con hipervínculos.

Cambiar esta configuración evita que Word formatee futuros enlaces mientras escribe. No tocará ni limpiará los hipervínculos que ya están guardados dentro de su documento actual.

Cosas que verificar después de eliminar hipervínculos de Word

Eliminar hipervínculos suele ser sencillo, pero vale la pena verificar algunos detalles después, especialmente el formato, los campos dinámicos y los enlaces en áreas separadas del documento.

  • Verifique el color del texto y los subrayados: Si el texto permanece azul o subrayado, establezca el color de fuente en Automático o haga que coincida con el texto circundante, luego elimine el subrayado si es necesario.

  • Verifique los campos dinámicos: Si utilizó el atajo Ctrl + Shift + F9, verifique su Tabla de contenido, referencias cruzadas y citas. Asegúrese de que no se hayan convertido accidentalmente en texto sin formato que no se puede actualizar.

  • Verifique encabezados y pies de página: Ctrl + A no selecciona texto dentro de encabezados y pies de página. Haga doble clic dentro de estas áreas específicas manualmente para borrar los enlaces ocultos restantes.

Preguntas frecuentes

P: ¿Eliminar un hipervínculo borra el texto mostrado?

R: No. El comando Quitar hipervínculo elimina el enlace mientras mantiene el texto mostrado en su lugar.

P: ¿Cómo puedo eliminar el subrayado azul sin romper el enlace?

R: Resalte el hipervínculo, vaya a la pestaña Inicio, establezca el color de fuente en Automático o haga que coincida con el texto circundante, y luego haga clic en el botón Subrayado (o presione Ctrl + U) para desactivar el subrayado.

P: ¿Cómo elimino un hipervínculo de una imagen en Word?

R: Haga clic derecho en la imagen con hipervínculo y seleccione Quitar hipervínculo. En flujos de trabajo de documentos automatizados, los hipervínculos de imágenes también se pueden gestionar mediante programación.

P: ¿Puedo eliminar hipervínculos de Word sin instalar Word?

R: Sí. Puede abrir y editar el archivo en un navegador usando Word para la web. Para múltiples archivos, también puede usar C# con una biblioteca de software como Spire.Doc para automatizar la eliminación.

Reflexiones finales

Elegir la mejor manera de eliminar hipervínculos depende de su contexto de edición. Para ediciones manuales rápidas, los comandos integrados y los atajos de teclado de Word son ideales. Para flujos de trabajo de documentos automatizados o grandes colecciones de archivos DOCX, la automatización mediante scripts de C# proporciona una solución confiable y escalable.