プログラムによってドキュメント内のテキストを非表示にする

特定範囲のテキストに対応する HiddenFont プロパティを設定して、文書内のテキストを非表示にできます。

たとえば、文書をプリンターに送信する前に、Bookmark (ドキュメント レベルのカスタマイズ) または Bookmark (VSTO アドイン) 内のテキストを一時的に非表示にできます。

適用対象: このトピックの情報は、Word のドキュメント レベルのプロジェクトおよび VSTO アドインのプロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

文書の印刷時に 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);
    

コードのコンパイル

このコード例では、bookmark1 という名前の Bookmark コントロール (ドキュメント レベルのカスタマイズの場合) または Bookmark コントロール (VSTO アドインの場合) が文書に含まれていることを前提にしています。