以编程方式隐藏文档中的文本

通过将 Hidden 属性设置为某个特定范围文本的 Font

例如,在将文档发送到打印机之前,可以暂时隐藏(在文档级自定义)或 Bookmark VSTO 外接程序中的Bookmark文本。

适用于: 本主题中的信息适用于 Word 的文档级项目和 VSTO 外接程序项目。 有关详细信息,请参阅办公室应用程序和项目类型提供的功能。

打印文档时在 Bookmark 控件中隐藏文本

  1. 创建一个过程,它会隐藏特定范围内的所有文本。

    static void HideText(Word.Range rng)
    {
        rng.Font.Hidden = 1;  // 1 = True
    }
    
  2. 创建一个过程,它会取消隐藏特定范围内的所有文本。

    static void UnhideText(Word.Range rng)
    {
        rng.Font.Hidden = 0;  // 0 = False
    }
    
  3. 将书签的范围传递到 HideText 方法,打印文档,然后将相同范围传递到 UnhideText 方法。

    下面的代码示例可用于文档级自定义项。 若要使用此示例,请从项目的 ThisDocument 类中运行它。

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

    以下代码示例可用于 VSTO 外接程序。 本示例使用活动文档。 若要使用此示例,请从项目的 ThisAddIn 类中运行它。

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

编译代码

此代码示例假定文档包含名为 Bookmark /> 的控件(在文档级自定义项中)或 Bookmark 控件(在 VSTO 外接程序 bookmark1中)。