俺の開発研究所

Ruby on Rails、Linux、Windowsを中心にIT技術系の備忘録とか。よく忘れるので。

*

VBAでExcelファイルを印刷できないようにする方法

      2014/12/01

VBAでユーザーにExcelファイルを印刷してほしくない場合。

印刷を制御し、印刷できないようにする方法を調べてみた。

スポンサード リンク

まずは、ThisWorkbookのソースコードに「Workbook_BeforePrint」(ワークブックプリント前イベント)を追加する。

ソースコードの上あたりにあるプルダウンで、以下を選択し、サブプロシージャを追加する。

  • オブジェクト…「Workbook」
  • プロシージャ…「BeforePrint」

そのサブプロシージャの中に、引数「Cancel」に値「True」を設定してやれば、そのExcelファイルは印刷することができなくなる。

なお、この設定だけでは何もメッセージなどは表示されずに、印刷ボタンが反応しなくなるだけなので、別途メッセージを表示させるようにしてやる方が、ユーザーには優しいかなと思います。

実際のソースは以下のような感じです。

以上。

 - VBA