方法: プログラムによって文書内のテキストを非表示にする
特定範囲のテキストに対応する Font の Hidden プロパティを設定して、文書内のテキストを非表示にできます。
たとえば、文書をプリンターに送信する前に、Microsoft.Office.Tools.Word.Bookmark (ドキュメント レベルのカスタマイズ) または Microsoft.Office.Interop.Word.Bookmark (アプリケーション レベルのアドイン) 内のテキストを一時的に非表示にできます。
対象: このトピックの情報は、Word 2013 と Word 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
文書を印刷するときに Bookmark コントロール内のテキストを非表示にするには
指定範囲内にあるすべてのテキストを非表示にするプロシージャを作成します。
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 }
指定範囲内にあるすべてのテキストを再表示するプロシージャを作成します。
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 }
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 文書の範囲をリセットする