Cómo: Ocultar texto en documentos mediante programación

Puede ocultar texto de un documento si establece la propiedad Hidden de Font para un intervalo determinado de texto.

Por ejemplo, puede ocultar temporalmente el texto de Microsoft.Office.Tools.Word.Bookmark (en una personalización de nivel de documento) o de Microsoft.Office.Interop.Word.Bookmark (en un complemento de nivel de aplicación), antes de enviar el documento a la impresora.

Se aplica a: La información de este tema se aplica a los proyectos de nivel de documento y los proyectos de nivel de aplicación para Word 2013 y Word 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.

Para ocultar texto en un control Bookmark mientras imprime el documento

  1. Cree un procedimiento que oculte todo el texto del intervalo especificado.

    Shared Sub HideText(ByVal rng As Word.Range)
        rng.Font.Hidden = True
    End Sub
    
    static void HideText(Word.Range rng)
    {
        rng.Font.Hidden = 1;  // 1 = True
    }
    
  2. Cree un procedimiento que muestre todo el texto del intervalo especificado.

    Shared Sub UnhideText(ByVal rng As Word.Range)
        rng.Font.Hidden = False
    End Sub
    
    static void UnhideText(Word.Range rng)
    {
        rng.Font.Hidden = 0;  // 0 = False
    }
    
  3. Pase el intervalo de un marcador al método HideText, imprima el documento y, a continuación, pase el mismo intervalo al método UnhideText.

    El ejemplo de código siguiente se puede usar en una personalización de nivel de documento.Para usar este ejemplo, ejecútelo desde la clase ThisDocument del proyecto.

    HideText(Bookmark1.Range)
    
    Me.PrintOut()
    
    UnhideText(Bookmark1.Range)
    
    HideText(bookmark1.Range);
    
    object oTrue = true;
    object oFalse = false;
    object range = Word.WdPrintOutRange.wdPrintAllDocument;
    object items = Word.WdPrintOutItem.wdPrintDocumentContent;
    object copies = "1";
    object pages = "";
    object pageType = Word.WdPrintOutPages.wdPrintAllPages;
    
    this.PrintOut(
        ref oTrue, ref oFalse, ref range, ref missing, ref missing, ref missing,
        ref items, ref copies, ref pages, ref pageType, ref oFalse, ref oTrue,
        ref missing, ref oFalse, ref missing, ref missing, ref missing, ref missing);
    
    UnhideText(bookmark1.Range);
    

    El ejemplo de código siguiente se puede usar en un complemento de nivel de aplicación.En este ejemplo se usa el documento activo.Para usar el ejemplo, ejecútelo desde la clase ThisAddIn del proyecto.

    HideText(Bookmark1.Range)
    Me.Application.ActiveDocument.PrintOut()
    UnhideText(Bookmark1.Range)
    
    HideText(bookmark1.Range);
    
    this.Application.ActiveDocument.PrintOut(true, false, Word.WdPrintOutRange.wdPrintAllDocument,
        Item:Word.WdPrintOutItem.wdPrintDocumentContent, Copies:"1", Pages:"", 
        PageType:Word.WdPrintOutPages.wdPrintAllPages, PrintToFile:false, Collate:true, 
        ManualDuplexPrint:false);
    
    UnhideText(bookmark1.Range);
    

Compilar el código

En este ejemplo de código se supone que el documento contiene un control Microsoft.Office.Tools.Word.Bookmark (en un complemento de nivel de aplicación) o el control Microsoft.Office.Interop.Word.Bookmark (en una personalización de nivel de documento) que se denomina bookmark1.

Vea también

Tareas

Cómo: Imprimir documentos mediante programación

Cómo: Definir y seleccionar intervalos en documentos mediante programación

Cómo: Restablecer intervalos en documentos de Word mediante programación

Cómo: Actualizar texto de marcador mediante programación

Conceptos

Parámetros opcionales en las soluciones de Office