次の方法で共有


方法: プログラムによって文書内のテキストを非表示にする

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

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

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

文書を印刷するときに 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);
    
    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 という名前の Microsoft.Office.Tools.Word.Bookmark コントロール (ドキュメント レベルのカスタマイズの場合) または Microsoft.Office.Interop.Word.Bookmark コントロール (アプリケーション レベルのアドインの場合) が文書に含まれていることを前提にしています。

参照

処理手順

方法: プログラムによって文書を印刷する

方法: プログラムによって文書に複数の範囲を定義して選択する

方法: プログラムによって Word 文書の範囲をリセットする

方法: プログラムによってブックマークのテキストを更新する

概念

Office ソリューションの省略可能なパラメーター