1

マスター構成ワークシートとデータを含む多数のワークシートに基づいて公開されたワークブックを生成する VBA パブリッシング マクロを Excel に持っています。公開されたバージョンはそのままのデータであり、まだフォーマットされていますが、式はなく、特定のメモと背景情報が抑制されています. 基本的に、マスター構成には、公開するワークシート名と範囲のテーブルが含まれています。

発行されたバージョンを印刷可能にするには、一部のワークシートに改ページを挿入する必要があります。同じ構成に基づいてこれらを挿入できることに気付きました。また、マスター シートにさらにいくつかの列を追加することで、特定のワークシートの印刷方向と余白を変更することもできます。

ここでトリッキーなビットが来ます。公開プロセス中に表にこれらの改ページが挿入されている場合、表が次のページに続くことを示す情報行を改ページの前に挿入したいと思います。しかし、これは印刷版にのみ表示され、画面上の表示には表示されません。

これを行う方法はありますか?

4

1 に答える 1

3

まず、改ページの直前に行を挿入して非表示にします。BeforePrint次に、ワークブックのイベントを使用して、"See Next Page" テキストを含むすべての行を検索し、それらを再表示できます。

Sub Workbook_BeforePrint(cancel as Boolean)
    Dim rngCell as Range
    set rngCell = ActiveSheet.UsedRange.Find("See Next Page")

    while not rngCell is Nothing
        if not rngCell is Nothing then
            rngCell.EntireRow.Hidden = false
        end if
        set rngCell = ActiveSheet.UsedRange.FindNext()
    loop
End Sub

これにより、行く必要がある場合はいくらか得られますが、AfterPrint. したがって、できることは次のとおりです。

Sub Workbook_BeforePrint(cancel as Boolean)
    Application.EnableEvents = false

    'Unhide rows here

    if cancel then
        Workbook.PrintPreview()
    else
        Workbook.PrintOut()
    end if

    'Rehide rows here

    Application.EnableEvents = True
End Sub

cancel基本的に、印刷プレビューか実際の印刷コマンドかがわかります。とても親切だと思います。

于 2009-07-26T02:16:04.570 に答える