如何:隐藏文档中的文本

更新:2007 年 11 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • 文档级项目

  • 应用程序级项目

Microsoft Office 版本

  • Word 2003

  • Word 2007

有关更多信息,请参见 按应用程序和项目类型提供的功能

通过为特定文本范围设置 FontHidden 属性,可以隐藏文档中的文本。

例如,在将文档发送到打印机之前,您可以暂时隐藏 Microsoft.Office.Tools.Word.Bookmark(文档级自定义项中)或 Microsoft.Office.Interop.Word.Bookmark(应用程序级外接程序中)内的文本。

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

  1. 创建一个用于隐藏指定范围中的所有文本的过程。

    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. 创建一个用于取消隐藏指定范围中的所有文本的过程。

    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. 将书签的范围传递给 HideText 方法,打印文档,然后将同一范围传递给 UnhideText 方法。

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

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

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

    HideText(Bookmark1.Range)
    Me.Application.ActiveDocument.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.Application.ActiveDocument.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);
    

编译代码

此代码示例假定文档包含一个名为 bookmark1 的 Microsoft.Office.Tools.Word.Bookmark 控件(文档级自定义项中)或 Microsoft.Office.Interop.Word.Bookmark 控件(应用程序级外接程序中)。

请参见

任务

如何:打印文档

如何:在文档中定义和选择范围

如何:重置 Word 文档中的范围

如何:更新书签文本

概念

了解 Office 解决方案中的可选参数