1

私は約 200 ページのドキュメントを持っていますが、これは基本的に特定のソフトウェアのテスト手順のリストです。現在、このドキュメントには、ソフトウェアの異なるバージョンに関連する特定の部分が含まれており、これらの部分が混在しているため、特定の順序で適切にフォーマットされていません。私がやりたいことは、別のバージョンをテストするときに不要なドキュメントの部分を非表示にできるようにすることです。MS word にはテキストを非表示にするフォント オプションがあることは知っていますが、不要なセクションを簡単に非表示にするボタン/ハイパーテキスト リンク/マクロをセットアップできるようにしたいと考えています。これは可能ですか?独自のマクロを設計するために VBA スクリプトを試し始めましたが、ショートカット ヒットごとに 1 つの部分を非表示にする方法しか見つかりませんでした。すべての部分が同時に影響を受けるようにこれを行う方法はありますか?

編集:

ドキュメントはこのように構成されています

Version 1
   Test Option button
/
Version 2
   Test Option button
       Check that Sample button is disabled
/
Version 1
   Test Save button
/
Version 3 
   Test Save to USB button

/

ご覧のとおり、完全に整理されていないため、1 つのマクロに対して現在持っているコードは実際には機能しません。これは、指定した 2 つの点の間で選択するのではなく、ドキュメント全体を選択するためです。

Sub TextSelectTest()
'
' TextSelectTest Macro
' Base Test
'
With Selection.Find
    .Text = "Version1"
    .Forward = False
    .MatchWildcards = False
    .Wrap = wdFindStop
    .Execute
End With
Selection.Extend
With Selection.Find
    .Text = "/"
    .Forward = True
    .Execute
    .Text = ""
End With
Selection.Extend
With Selection.Font
    .Hidden = True
End With
End Sub
4

1 に答える 1

1

hiding結果は印刷でのみ表示されるため、フォントは最も専門的なソリューションではないと思います。しかし、特にあなたが提案したこの状況では、それが最も簡単かもしれません。

最初のステップ:ドキュメントにセクションを設定します。それは非常に簡単で、Word アプリで行う必要があります。管理する必要があるドキュメントの部分と同じ数のセクション区切り記号を挿入する必要があります。どのセクションが各マニュアルの一部であるべきか、または一部であってはならないかを知る必要がありますが、それについては後で説明します。

2 番目のステップ:すべてのセクションを「非表示」にし、適切なセクションを表示する次のサブルーチンが必要になります。

Sub HideUnhide_Document_Section(secIndex As Variant)

Dim Doc As Document
Set Doc = ActiveDocument

Dim secDoc As Variant

'to hide all section first, by iteration 
For Each secDoc In Doc.Sections
    secDoc.Range.Font.Hidden = True
Next secDoc
    'alternatively we could hide whole content without iteration:
    'secDoc.Content.Font.Hidden = True

'to un-hide chosen sections
For Each secDoc In secIndex
    Doc.Sections(secDoc).Range.Font.Hidden = False
Next secDoc

End Sub

非表示プロセスを管理するには、次のコードを提案します。

サブ Call_Hide()

Dim arrVersion1 As Variant
    'put all sections for appropriate version
    arrVersion1 = Array(1, 3)

    'to unhide
    HideUnhide_Document_Section arrVersion1
End Sub

バージョンごとに同様の個別のサブルーチンを準備するか、そのサブルーチンをパラメーター化することができます。2 番目の状況では、マニュアルのバージョンごとに個別の配列 (arrVarsionX) が必要になります。

于 2013-03-29T21:06:10.920 に答える