「個々の範囲を印刷する」シリーズの質問の最後の問題であるといいのですが、PageSetup オブジェクトをあるページから別のページにコピーする方法をより知識のある読者に謙虚に尋ねます。
簡単にできるのでDest.PageSetup = Source.PageSetup
、同じことを行う関数を作成する必要がありました。要約形式は以下のとおりです。
Public Sub CopyPageSetup(ByVal Source As Worksheet, ByRef Dest As Worksheet)
With Source.PageSetup
Call SetParam(.AlignMarginsHeaderFooter, Dest.PageSetup.AlignMarginsHeaderFooter)
' etc
Call SetParam(.Zoom, Dest.PageSetup.Zoom)
End With
End Sub
そして SetParam は単純です:
Public Sub SetParam(ByVal Source As Variant, ByRef Dest As Variant)
If Dest <> Source Then Dest = Source
End Sub
ただし、これはページ設定をコピーしません-この関数を呼び出した直後に呼び出しますtmp.PrintPreview
(tmpは一時的なワークシートです)。出力は、関数を呼び出したことがない場合と同じです。
これは蜃気楼ですか (それはあなたに適していますか?)。それが蜃気楼でない場合、これを修正するにはどうすればよいですか?