「覚え間違い」を教えてください!

いつもお世話になっております。
ExcelのVBAで印刷ダイアログを表示させないようにするにはどのようなプロパティを設定すればよいでしょうか。
以下のようなコードを作成しました。

Sub ファイルの印刷()

Dim trgFolder As String
Dim buf As String
Dim sht As Worksheet

Application.ScreenUpdating = False
Application.DisplayAlerts = False

trgFolder = _
"C:\Documents and Settings\Name\My Documents\ファイル\"
buf = Dir(trgFolder & "*.xls")

Do While buf <> ""
Workbooks.Open trgFolder & buf

For Each sh In Worksheets
With ActiveSheet
.PageSetup.Zoom = 80
.PrintOut
End With
Next

Workbooks(buf).Close
buf = Dir()
Loop

Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub

"ファイル"フォルダの各Excelファイルのすべてのシートを印刷するためのマクロです。

よろしくお願いします。

A 回答 (1件)

こんにちは。



コードの中身は良く見ていませんが、
メニューの ファイル-印刷 などからは印刷できなくて、
マクロからのみ、印刷を出来るようにしたいということでしょうか?
そういうことだとして、

***** ThisWorkbook モジュール *****

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Cancel = True

End Sub

***** 標準モジュール *****

Sub 印刷()

Application.EnableEvents = False
ActiveSheet.PrintOut
Application.EnableEvents = True

End Sub

のような感じにすれば、手動で印刷しようとしても
印刷ダイアログは出ませんが、マクロからは印刷できます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A