- ベストアンサー
MSアクセス ページ設定値
レポートAのページ設定をした後、その設定値をレポートBにも同じくする方法を教えて下さい。 On Error Resume Next DoCmd.SelectObject acReport, "レポートA", True DoCmd.RunCommand acCmdPageSetup ' "レポートA".設定値 = "レポートB".設定値 こんな感じで On Error GoTo 0
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Set rpt2.Printer = rpt.Printer だけで内容が反映されるのが謎です・・・ こんな感じでも試してみてください。 Sub Test() Dim rpt As Report, rpt2 As Report On Error GoTo g001 Application.Echo False DoCmd.OpenReport "レポートA", acViewPreview DoCmd.OpenReport "レポートB", acViewDesign Set rpt = Reports("レポートA") Set rpt2 = Reports("レポートB") rpt2.Visible = False 'これがミソ rpt2.Printer = rpt.Printer 'rptで指定したプリンターを使う場合 'rpt2.UseDefaultPrinter = True 'OS既定のプリンターの場合 'この二行は必要に応じて。無くても可 With rpt2.Printer 'レポートの設定を逐一指定する必要があったような。 .TopMargin = rpt.Printer.TopMargin .BottomMargin = rpt.Printer.BottomMargin .LeftMargin = rpt.Printer.LeftMargin .RightMargin = rpt.Printer.RightMargin '中略 End With DoCmd.Close acReport, "レポートA", Save:=acSaveNo DoCmd.Close acReport, "レポートB", Save:=acSaveYes Set rpt = Nothing Set rpt2 = Nothing Application.Echo True Exit Sub g001: Application.Echo True If IsEmpty(rpt) = False Then Set rpt = Nothing If IsEmpty(rpt2) = False Then Set rpt2 = Nothing MsgBox err.Number & vbCrLf & err.Description End Sub
その他の回答 (1)
- NotFound404
- ベストアンサー率70% (288/408)
こちらを熟読されると解決するものと思います。 Microsoft Access 2002 でのプリンタ設定のプログラミング http://msdn.microsoft.com/ja-jp/library/cc325884.aspx レポートをデザインビューで開いて reports("こっち").Printer.TopMargin = reports("あっち").Printer.TopMargin のようになるかと。
お礼
ありがとうございます。 少し不安ですが、自己解決してます。 Dim rpt, rpt2 As Report On Error GoTo g001 DoCmd.OpenReport "レポートA", acViewPreview DoCmd.RunCommand acCmdPageSetup Set rpt = Reports("レポートA") DoCmd.OpenReport "レポートB", acViewPreview Set rpt2 = Reports("レポートB") Set rpt2.Printer = rpt.Printer Set rpt = Nothing Set rpt2 = Nothing g001: On Error GoTo 0 Exit Sub 上記でとりあえず動いています。 正しい記述はどうなのかわかりませんが。
補足
お礼を書いた後ですが・・・ 自己解決したコードだけでは不安定でした。 "レポートB"を再度開くと反映されてませんでした。 DoCmd.Close acReport, "レポートB", acSaveYes の1行を追加してもダメですが、 "レポートB"を閉じる前に手動で「Ctlo+s」だと反映されました。
お礼
ありがとうございました。 ご教授頂いたコードで、プリンタ環境の違う状況で確認しました。 うまくいってます。 >レポートの設定を逐一指定する必要があったような。 >中略 中略の部分が長くて~~ 必要な分だけ探してやってます。 「NotFound404」様今後もよろしくお願い致します。