• ベストアンサー

Excel(エクセル)で印刷不可にするには?

Excel95を使用しております。 Excel95で、シートの「印刷を不可能」にするマクロは、どのようにコーディングすればよいのでしょう? acrobat等は使用せずに、Excelのみで対応したいのですが・・・。 ご存知の方、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Taketoshi
  • ベストアンサー率41% (23/56)
回答No.4

#2のTaketoshiです。 以下のURLを参考してみてください。 Excel95で、印刷のメニュー、ツールバーを表示しないようにしています。

参考URL:
http://park7.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200210/02100147.txt
MAITAKE_143
質問者

お礼

ご回答ありがとうございます。 できました!!! メニューの「ファイル」を無効にし、「印刷ボタン」も無効にできました! あと、「Ctrl + P」の無効の方法は以前から知っておりましたので、これで完璧?のはずです^^ ありがとうございました。 助かりました^^

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

WorkbookがOpenされた時、ファイル名をチェックし、そのファイル(のアクチブシートがそれ)なら、メニューの「ファイル」の「印刷プレビュー」と「印刷」を非表示にし、プリンタのツールバーアイコンも非表示にするのはどうかなと思いつきましたが。 コピー等の抜け穴があってだめでしょうか。

MAITAKE_143
質問者

お礼

ご回答ありがとうございます。 私もそれを考え、メニューバーの「ファイル」をEnabledで使用できないようにしたのですが、ツールバーで出ている「印刷ボタン」を使用不能にできなかったため、ダメでした。(人それぞれボタンの番号が違うため) コピー等の抜け穴までは、考慮しなくてもいいかもしれませんが・・・。

  • Taketoshi
  • ベストアンサー率41% (23/56)
回答No.2

下の方のとおり、BeforePrintで制御できますね。 ただ、Office2000,XPは大丈夫だけど、95はもってないんで、できるかな? 以下のマクロを、ThisWorkbookにコピーしてみてください。 Private Sub Workbook_BeforePrint(Cancel As Boolean) MsgBox "このExcelシートは、印刷できません", vbExclamation Cancel = True End Sub

MAITAKE_143
質問者

お礼

ご回答ありがとうございます。 やってみましたが、やはりExcel95では無理のようですね。。。 ありがとうございました。

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

印刷のイベント(BeforePrint?)を捕まえて処理中断すれば良い気もしますが、Excel95で印刷禁止ってのは無理だった気がします。 Office2003であれば可能だそうですが…。 Office Professional Edition 2003 の IRM (Information Rights Management) http://www.microsoft.com/japan/office/editions/prodinfo/technologies/irm.mspx -- せいぜい出来る嫌がらせ(?)を考えると、ヘッダに巨大(上限がありますが)な「■」「印刷禁止」の文字列を入れるとか。

参考URL:
http://www.microsoft.com/japan/office/editions/prodinfo/technologies/irm.mspx
MAITAKE_143
質問者

お礼

ご回答ありがとうございます。 ちなみに、嫌がらせというワケではありません^^; 社内の規格文書を管理するための一環で、むやみに印刷されると「最新版の管理」が困難になるための、予防策なのです。 ヘッダを利用するやり方も考えましたが、シートやブックを保護してもヘッダ操作が可能なので、ヘッダに巨大な■等を設定しておいても、消去されてしまっては意味がないのです。。。泣