Partager via


Comment : masquer du texte dans des documents par programmation

Vous pouvez masquer du texte dans un document en définissant la propriété Hidden de la Font pour une plage de texte particulière.

Par exemple, vous pouvez masquer temporairement le texte dans un Microsoft.Office.Tools.Word.Bookmark (dans une personnalisation au niveau du document) ou un Microsoft.Office.Interop.Word.Bookmark (dans un complément au niveau de l'application) avant d'envoyer un document à une imprimante.

S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau document et de niveau application pour Word 2013 et Word 2010. Pour en savoir plus, consultez Fonctionnalités disponibles par type d'application et de projet Office.

Pour masquer du texte dans un contrôle Bookmark lors de l'impression du document

  1. Créez une procédure qui masque tout le texte situé dans une plage spécifiée.

    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. Créez une procédure qui affiche tout le texte situé dans une plage spécifiée.

    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. Passez la plage d'un signet à la méthode HideText, imprimez le document, puis passez la même plage à la méthode UnhideText.

    L'exemple de code suivant peut être utilisé dans une personnalisation au niveau du document.Pour utiliser cet exemple, exécutez-le à partir de la classe ThisDocument dans votre projet.

    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);
    

    L'exemple de code suivant peut être utilisé dans un complément d'application.Cet exemple utilise le document actif.Pour utiliser l'exemple, exécutez-le à partir de la classe ThisAddIn dans votre projet.

    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);
    

Compilation du code

Cet exemple de code suppose que le document contient un contrôle Microsoft.Office.Tools.Word.Bookmark (dans une personnalisation au niveau du document) ou un contrôle Microsoft.Office.Interop.Word.Bookmark (dans un complément au niveau de l'application) nommé bookmark1.

Voir aussi

Tâches

Comment : imprimer des documents par programmation

Comment : définir et sélectionner des plages dans les documents par programmation

Comment : réinitialiser des plages dans les documents Word par programmation

Comment : mettre à jour le texte d'un signet par programmation

Concepts

Paramètres optionnels dans les solutions Office