質問

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

公開バージョン印刷可能にするには、ワークシートの一部が挿入された改ページを必要とします。私は同じ設定に基づいてこれらを挿入することができます実現する、と私はまた私のマスターシートにいくつかのより多くの列を追加することで、特定のワークシートの印刷の向きや余白を変更することができます。

ここでトリッキーなビットが来ます。表が公開プロセスの間に挿入されたこれらの改ページの一部を持っている場合、私は情報の行が表には、次ページに続くされていることを示す改ページの前に挿入されるようにしたいと思います。しかし、私はこれだけは、オンスクリーンディスプレイに表示されていない印刷版、に表示したい。

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

役に立ちましたか?

解決

まず、行を挿入し、ちょうど改ページの前にそれを隠します。その後、あなたはすべてを見つけるために、ブックに BeforePrint のイベントを使用することができますそして、その中に「次のページを参照してください」テキストを持つ行、およびそれらを再表示ます。

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は、本質的にその場合は、印刷プレビューや実際の印刷コマンドを教えてくれます注意してください。それのその非常に親切、私は考えてます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top