Workbook.BeforePrint イベントのハンドラ内で ActivePrinter プロパティを操作すると、印刷ダイアログが表示されない

現象

Workbook.BeforePrint イベントのハンドラ内で、Excel.Application オブジェクトの ActivePrinter プロパティを操作すると、印刷プレビュー画面の [印刷] ボタンを押しても、印刷ダイアログが表示されません。

状況

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

詳細

Excel 2007 の再現手順

  1. Excel 2007 を起動します。

  2. キーボード上で [Alt + F11] キーを押し、Visual Basic Editor を起動します。

  3. 画面左側で、"ThisWorkbook" をダブル クリックします。

  4. 画面右側に、コード エディタが表示されます。

  5. コード エディタ内の左側のドロップダウン メニューで、"Workbook" を選択します。

  6. コード エディタ内の右側のドロップダウン メニューで、"BeforePrint" を選択します。

  7. "Private Sub Workbook_BeforePrint(Cancel As Boolean)" プロシージャが作成されますので、ActivePrinter オブジェクトにアクセスするコードをこのプロシージャ内に記載します。

    例) Workbook.BeforePrint イベント ハンドラ内で、ActivePrinter プロパティへアクセスする場合

    Private Sub Workbook_BeforePrint(Cancel As Boolean)

    Debug.Print (Excel.Application.ActivePrinter)
    End Sub

  8. Visual Basic Editor を終了して Excel へ戻り、A1 セルに任意の文字列を入力します。

  9. [Office ボタン] をクリックし、[印刷] - [印刷プレビュー] をクリックします。

  10. 印刷プレビュー画面が表示されたら、[印刷] ボタンをクリックします。


Excel 2010、Excel 2013 の再現手順

  1. Excel 2010 もしくは 2013 を起動します。

  2. キーボード上で [Alt + F11] キーを押し、Visual Basic Editor を起動します。

  3. 画面左側で、"ThisWorkbook" をダブル クリックします。

  4. 画面右側に、コード エディタが表示されます。

  5. コード エディタ内の左側のドロップダウン メニューで、"Workbook" を選択します。

  6. コード エディタ内の右側のドロップダウン メニューで、"BeforePrint" を選択します。

  7. 7. "Private Sub Workbook_BeforePrint(Cancel As Boolean)" プロシージャが作成されますので、ActivePrinter オブジェクトにアクセスするコードをこのプロシージャ内に記載します。

    例)Workbook.BeforePrint イベント ハンドラ内で、ActivePrinter プロパティへアクセスする場合

    Private Sub Workbook_BeforePrint(Cancel As Boolean)

    Debug.Print (Excel.Application.ActivePrinter)
    End Sub

  8. Visual Basic Editor を終了して Excel へ戻り、A1 セルに任意の文字列を入力します。

  9. [ファイル] タブの [オプション] をクリックし、[Excel のオプション] 画面を表示します。

  10. 画面左側で、[クイック アクセス ツール バー] を選択します。

  11. 画面右側の [コマンドの選択] ドロップダウン メニューで、"すべてのコマンド" を選択します。

  12. リストより "印刷プレビュー (全画面表示)" を選択して、[追加 >>] ボタンをクリックし、[OK] ボタンをクリックします。

  13. クイック アクセス ツール バー上に "印刷プレビュー (全画面表示)" ボタンが追加されます。

  14. "印刷プレビュー (全画面表示)" ボタンをクリックし、印刷プレビュー画面が表示されたら、[印刷] ボタンをクリックします。

結果

印刷ダイアログが表示されません。


関連情報

Workbook.BeforePrint イベント

Application.ActivePrinter プロパティ (Excel)

ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Insider に参加する

この情報は役に立ちましたか?

フィードバックをお送りいただきありがとうございます!

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×