小川先生 こんにちは プリントアウトの件ですが、 さっそく Application.PrintCommunication = True ActiveSheet.PrintPreview を削りました。 一時停止がなくなりました。 ざっくり削ってみました。 Sub printout() Dim sh As Worksheet For Each sh In Worksheets If Left(sh.Name, 4) <> "main" Then Debug.Print sh.Name sh.Activate
With ActiveSheet.PageSetup .PrintTitleRows = "" .PrintTitleColumns = "" End With
受講生さんの投稿
(投稿ID: 4415) 添付ファイルのダウンロード権限がありません
長い伝票は出来ます。
.FitToPagesWide = 390 ←プリンターが毎回10-400の入力を求めて来ます。
エクセル操作では問題無く(1ページ全部入る)印刷が出来ます。
小川 慶一さんのコメント
(コメントID: 6068)
ActiveSheet.PrintPreview
がいらないんじゃないかな、と思います。
ここで、プレビューが表示されます。
2箇所ある、以下も不要ですね。
Application.PrintCommunication = True
というか、不要なものまだまだあるはずなので、発展編1の第3章「自動記録」で習ったように、極限までもっと不要そうなコードを削ってみてください!
> 伝票印刷(1ページ全部入る)印刷出来る時と出来ない時があり困っています。
> 長い伝票は出来ます。
> .FitToPagesWide = 390 ←プリンターが毎回10-400の入力を求めて来ます。
> エクセル操作では問題無く(1ページ全部入る)印刷が出来ます。
受講生さんのコメント
(コメントID: 6070)
さっそく
Application.PrintCommunication = True
ActiveSheet.PrintPreview
を削りました。
一時停止がなくなりました。
ざっくり削ってみました。
Sub printout()
Dim sh As Worksheet
For Each sh In Worksheets
If Left(sh.Name, 4) <> "main" Then
Debug.Print sh.Name
sh.Activate
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.LeftMargin = Application.InchesToPoints(0.7)
.RightMargin = Application.InchesToPoints(0.7)
.TopMargin = Application.InchesToPoints(0.75)
.BottomMargin = Application.InchesToPoints(0.75)
.HeaderMargin = Application.InchesToPoints(0.3)
.FooterMargin = Application.InchesToPoints(0.3)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveWindow.SelectedSheets.printout Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End If
Next
End Sub
まだまだ削り足りないと思いますが
完全にプリントアウトが出来ました。
ご指導ありがとうございました。