Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12906 / 13644 ツリー ←次へ | 前へ→

【7828】印刷プレビューが表示できない たか 03/9/19(金) 13:04 質問
【7829】Re:印刷プレビューが表示できない INA 03/9/19(金) 13:11 回答
【7831】Re:印刷プレビューが表示できない たか 03/9/19(金) 13:51 発言
【8046】Re:印刷プレビューが表示できない しのしの 03/9/27(土) 18:09 回答

【7828】印刷プレビューが表示できない
質問  たか  - 03/9/19(金) 13:04 -

引用なし
パスワード
   はじめまして。
さっそく質問です。どなたかよろしくお願いいたします。
現在、マクロを使用して連続印刷をしようと思っています。
ユーザ入力させるために、Dialogシートを作成しOKボタンにマクロ登録して実行する仕組みです。
しかし、実行すると『WorksheetクラスのPrintPreviewメソッドが失敗しました』というエラーが表示されるのでデバッグしてみたのですが、その時にはエラーにならず普通にプレビューが表示できます。

OSは98 EXCEL2000を使用しています。

【7829】Re:印刷プレビューが表示できない
回答  INA  - 03/9/19(金) 13:11 -

引用なし
パスワード
   >ユーザ入力させるために、Dialogシートを作成しOKボタンに
>マクロ登録して実行する仕組みです。
ユーザーフォームでなくExcel 5.0 ダイアログのことでしょうか?

>しかし、実行すると『WorksheetクラスのPrintPreviewメソッドが失敗しました』
>というエラーが表示されるのでデバッグしてみたのですが、
>その時にはエラーにならず普通にプレビューが表示できます。
この情報からだと状況が把握できませんので、
コードを掲載して頂けないでしょうか?

【7831】Re:印刷プレビューが表示できない
発言  たか  - 03/9/19(金) 13:51 -

引用なし
パスワード
   早い回答ありがとうございます。

>ユーザーフォームでなくExcel 5.0 ダイアログのことでしょうか?

そうです。
Excel 5.0 ダイアログを使用しています。

>この情報からだと状況が把握できませんので、
>コードを掲載して頂けないでしょうか?

こんな感じです。
汚いソースですいません・・・。

  Do
    l_cnt = l_cnt + 1
    If Worksheets(w_sname).Cells(l_cnt, 2) = "" Then
      check = True
    End If
    If check = False Then
      If p_cnt >= 5 Then

'        ActiveSheet.PrintOut
        
        ActiveSheet.PrintPreview
        Range("A1:W60").Select
        Selection.ClearContents
        page = page + 1
        p_cnt = 0
      End If
      p_cnt = p_cnt + 1
      If p_cnt = 1 Then
        Worksheets("print").Cells(2, 8) = Mid(wk_from, 1, 2)
        Worksheets("print").Cells(2, 10) = Mid(wk_from, 3, 2)
        Worksheets("print").Cells(2, 12) = Mid(wk_from, 5, 2)
        Worksheets("print").Cells(3, 8) = Mid(wk_to, 1, 2)
        Worksheets("print").Cells(3, 10) = Mid(wk_to, 3, 2)
        Worksheets("print").Cells(3, 12) = Mid(wk_to, 5, 2)
        Worksheets("print").Cells(2, 15) = wk_hojin1
        Worksheets("print").Cells(3, 15) = wk_hojin2
      End If
      Worksheets("print").Cells(5, 4 * p_cnt - 2) = Worksheets(w_sname).Cells(l_cnt, 2)
      Worksheets("print").Cells(7, 4 * p_cnt - 2) = Worksheets(w_sname).Cells(l_cnt, 3)
      Worksheets("print").Cells(9, 4 * p_cnt - 1) = Worksheets(w_sname).Cells(l_cnt, 4)
      Worksheets("print").Cells(9, 4 * p_cnt) = Worksheets(w_sname).Cells(l_cnt, 5)
      Worksheets("print").Cells(9, 4 * p_cnt + 1) = Worksheets(w_sname).Cells(l_cnt, 6)
      Worksheets("print").Cells(11, 4 * p_cnt - 1) = Worksheets(w_sname).Cells(l_cnt, 7)
      Worksheets("print").Cells(11, 4 * p_cnt) = Worksheets(w_sname).Cells(l_cnt, 8)
      Worksheets("print").Cells(11, 4 * p_cnt + 1) = Worksheets(w_sname).Cells(l_cnt, 9)
      Worksheets("print").Cells(13, 4 * p_cnt - 2) = Worksheets(w_sname).Cells(l_cnt, 10)
      Worksheets("print").Cells(15, 4 * p_cnt - 2) = Worksheets(w_sname).Cells(l_cnt, 11)
      Worksheets("print").Cells(17, 4 * p_cnt - 2) = Worksheets(w_sname).Cells(l_cnt, 12)
      
      
    End If
  Loop Until check = True

【8046】Re:印刷プレビューが表示できない
回答  しのしの  - 03/9/27(土) 18:09 -

引用なし
パスワード
   こんにちは。

>        ActiveSheet.PrintPreview

エラーが発生する箇所って、上の部分ですか?
メッセージボックスか何かで、
ActiveSheet.Nameを確認されることをお勧めします。
デバッグでなく、実行時に確認して下さいね。

12906 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free