[[20220616144549]] 『worksheet クラスのPrintOut メソッドが失敗しまax(健斗) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『worksheet クラスのPrintOut メソッドが失敗しました』(健斗)

VBAを試作中に名前を付けて保存ダイヤログボックスをキャンセルで消してばかりしておりました結果 実行時エラー1004が出て
簡単なコードactivesheet.printoutが実行できません。

原因解明ができません。何方かお助けをお願いします。

< 使用 Excel:Excel2010、使用 OS:Windows10 >


 手がかりが少なすぎて、何も想像がつきません
 もっと情報が必要です。
(´・ω・`) 2022/06/16(木) 15:00

PCをプリンタ-につなげず簡単なマクロを作り実行しており、名前を付けて保存ダイヤログボックスのキャンセルボタンを幾度となく押し続けておりましらいつぞやWorksheet クラスのPrintOut メソッドが失敗しましたのエラ-が出てactivesheet.printoutのコードが実行出来なくなりました。
超初心者で説明するのもよくわからない状態です。申し訳ありません。
(健斗) 2022/06/16(木) 15:15

 印刷がらみのマクロ作るときに毎回印刷してたら紙の無駄なので、
 PrintOutをPrintPreviewにしてある程度デバックしてからPrintOutにするんですよ

 なんとなくExcelを再起動したりPCを再起動したりしたら直るような気がしなくもないです。

 >超初心者で説明するのもよくわからない状態です
 そういうときは、自分で情報を選別しないで、全部書くんです
(´・ω・`) 2022/06/16(木) 15:19

Sub シート追加()
'任意のワークシート名を指定
Dim trgtShName As String
Dim sMonth As Integer

'sMonth = Month(Sheets("原紙").Range("Y2").Value) - 1
trgtShName = Worksheets("商品一覧表").Range("K3").Value

'シートが開いているかどうかのフラグを定義する
Dim flg As Boolean
'ワークシートオブジェクトを定義する
Dim ws As Worksheet
'マクロ実行ブックの全シートにループ処理を実行する
For Each ws In ThisWorkbook.Worksheets

    'シートの名前が目的のブック名と一致した場合、処理を実行
    If ws.Name = trgtShName Then
        'フラグをTrueにしてループを抜ける
        flg = True
        Exit For
   ElseIf Worksheets("商品一覧表").Range("K3") = "" Then
    flg = True
        Exit For
    End If
Next

'フラグがFalseだった場合、シートを作成する
If flg = False Then

  Worksheets("商品一覧表").Copy After:=Worksheets(1)  ' Worksheets.Add
    'シート名を変更(追加されたシートはアクティブとなる)
    ActiveSheet.Name = trgtShName

 End If

この辺でエラー Worksheets("商品一覧表").Activate
       ActiveSheet.PrintOut

End Sub
(健斗) 2022/06/16(木) 15:39


 Worksheets("商品一覧表").Activate
 ActiveSheet.PrintOut
 としたら、常に 商品一覧表 のシートが印刷されるんですが、
 それは意図した動作ですか? 

 商品一覧表のシートはは手動では印刷できるんでしょうか
(´・ω・`) 2022/06/16(木) 16:02

はい、出来ます。
(健斗) 2022/06/16(木) 16:09

 この2行を  
     Worksheets("商品一覧表").Activate
   ActiveSheet.PrintOut

 この4行に置き換えてみるとどうなりますか?   
     With Worksheets("商品一覧表")
         .Visible = True
         .PrintOut
     End With
(´・ω・`) 2022/06/16(木) 16:23

すいませんでした。ありがとうございます。もう一つお願いがあります。
商品一覧表は3枚で構成されていますが、1枚目だけ5部の印刷がしたいと思います。
With Sheets("商品一覧表")
.PrintOut From:=1, To:=1
.PrintOut Copies:=5

PDFファイル保存では3枚保存されていますが??
(健斗) 2022/06/16(木) 16:44


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.