- 締切済み
ExcelのVBAでA4からB5へ縮小コピーできますか
ExcelのVBAは若干使える程度です。よろしくお願いします。 A4サイズの用紙をB5サイズで印刷したいのです。印刷後は、元の A4サイズにもどしたいと思いますが、VBAの記述を教えて頂けませんか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- misatoanna
- ベストアンサー率58% (528/896)
こんな記述内容ではいかがでしょうか。 Sub Test() With ActiveSheet.PageSetup .PaperSize = xlPaperB5 .Zoom = False .FitToPagesTall = 1 .FitToPagesWide = 1 End With ActiveSheet.PrintOut With ActiveSheet.PageSetup .PaperSize = xlPaperA4 .Zoom = False .FitToPagesTall = False .FitToPagesWide = False End With End Sub
- kigoshi
- ベストアンサー率46% (120/260)
とりあえず全体を86%に縮小すれば大体のところは対応できるように思います。 マージンがプリンタの制限以下になる場合、支障が出るかも知れませんが。 Sub printB5() Dim mg_L, mg_R, mg_T, mg_B, mg_H, mg_F As Single mg_L = PageSetup.LeftMargin mg_R = PageSetup.RightMargin mg_T = PageSetup.TopMargin mg_B = PageSetup.BottomMargin mg_H = PageSetup.HeaderMargin mg_F = PageSetup.FooterMargin PageSetup.PaperSize = xlPaperB5 PageSetup.Zoom = 86 PageSetup.LeftMargin = mg_L * 0.86 PageSetup.RightMargin = mg_R * 0.86 PageSetup.TopMargin = mg_T * 0.86 PageSetup.BottomMargin = mg_B * 0.86 PageSetup.HeaderMargin = mg_H * 0.86 PageSetup.FooterMargin = mg_F * 0.86 ActiveWindow.SelectedSheets.PrintOut PageSetup.PaperSize = xlPaperA4 PageSetup.Zoom = 100 PageSetup.LeftMargin = mg_L PageSetup.RightMargin = mg_R PageSetup.TopMargin = mg_T PageSetup.BottomMargin = mg_B PageSetup.HeaderMargin = mg_H PageSetup.FooterMargin = mg_F End Sub
- hana-hana3
- ベストアンサー率31% (4940/15541)
縮小印刷はプリンタドライバの機能なので、VBAからは制御する事は出来ません。 印刷用紙の変更ならこんな感じでしょうか? ActiveSheet.PageSetup.PaperSize = xlPaperB5 ActiveSheet.PrintOut ActiveSheet.PageSetup.PaperSize = xlPaperA4
お礼
早速有難うございました。そうか・・・。縮小印刷はプリンタの方の設定になるのですね。と言うことは、教えて頂いた記述の前に、印刷設定することは可能ですか?
お礼
有難うございます。やって見ます。又、追加したい部分があればご教授頂いていいでしょうか?取敢えず、頑張ってみます。