過去ログ

                                Page     141
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼印刷を阻止したい。  バジル 02/9/27(金) 20:01
   ┗うまくいったよ  ぴかる 02/9/27(金) 20:14
      ┗Re:うまくいったよ  バジル 02/9/27(金) 21:37
         ┗多分、クラスモジュール?  ぴかる 02/9/27(金) 22:02
            ┗ありがとうございます。  バジル 02/9/27(金) 22:22
               ┗Re:ありがとうございます。  ichinose 02/9/28(土) 5:53
                  ┗できました!  バジル 02/9/28(土) 13:38

 ───────────────────────────────────────
 ■題名 : 印刷を阻止したい。
 ■名前 : バジル
 ■日付 : 02/9/27(金) 20:01
 -------------------------------------------------------------------------
   お世話になってます。
さっそくですが。。。
Excelの出力を完全に阻止したいと思っているのですが、可能でしょうか?

つまり、プリンターのアイコンを非表示にするとかではなく、ファイル→印刷、
またはプリンターのアイコンなどから全く印刷できないようにしたいんです。

ヘルプで調べて

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Cancel = True    
End Sub

でやってみたのですが、うまくいきません。
ご存知の方、どうぞ宜しくお願いします。m(._.)m
 ───────────────────────────────────────  ■題名 : うまくいったよ  ■名前 : ぴかる  ■日付 : 02/9/27(金) 20:14  -------------------------------------------------------------------------
   バジルさん、こんばんは。

>Private Sub Workbook_BeforePrint(Cancel As Boolean)
>    Cancel = True    
>End Sub
↑をThisWorkbookに貼り付けてやってみたらOKでしたよ。なんでかな?。
ちなみにWin98、エクセル2000の環境です。
 ───────────────────────────────────────  ■題名 : Re:うまくいったよ  ■名前 : バジル  ■日付 : 02/9/27(金) 21:37  -------------------------------------------------------------------------
   ぴかるさん、こんばんは。
レスありがとうございます。

>>Private Sub Workbook_BeforePrint(Cancel As Boolean)
>>    Cancel = True    
>>End Sub
>↑をThisWorkbookに貼り付けてやってみたらOKでしたよ。なんでかな?。

慌ててThisWorkbookで試してみたところこっちでもうまくいきました。m(._.)m
ですが、Excelでフォーマットを作り、新規ブックにフォーマットをコピーしているため
元となるExcelのThisWorkbookでは可能なのですが、肝心な新規ブックでは機能して
くれません。(;^_^A
新規ブックでも機能してくれるような汎用的な方法があると助かるのですが。。。
よろしくお願いします。m(._.)m
 ───────────────────────────────────────  ■題名 : 多分、クラスモジュール?  ■名前 : ぴかる  ■日付 : 02/9/27(金) 22:02  -------------------------------------------------------------------------
   バジルさん、どもどもです

>新規ブックでも機能してくれるような汎用的な方法があると助かるのですが。。。
>よろしくお願いします。m(._.)m
アドインファイル&クラスモジュールで可能だと思います。テストしたらOKでした。
ごめんなさい。あんまり分かってないのでコードアップ出来ません。情けないッス。詳しいお方よろしくお願いします。

しばらくアクセス出来ません。すんません。<(_ _)>
 ───────────────────────────────────────  ■題名 : ありがとうございます。  ■名前 : バジル  ■日付 : 02/9/27(金) 22:22  -------------------------------------------------------------------------
   ぴかるさん、ありがとうございます。

>アドインファイル&クラスモジュールで可能だと思います。テストしたらOKでした。
>ごめんなさい。あんまり分かってないのでコードアップ出来ません。情けないッス。詳しいお方よろしくお願いします。

いえいえ、ヒントが頂けただけで感謝、感謝!!です。
自分でも模索してみますが、レスをいただけると大変ありがたいです。

>しばらくアクセス出来ません。すんません。<(_ _)>

またよろしくお願いします。m(._.)m
 ───────────────────────────────────────  ■題名 : Re:ありがとうございます。  ■名前 : ichinose  ■日付 : 02/9/28(土) 5:53  -------------------------------------------------------------------------
   ▼バジル さん:
ぴかるさん、おはようございます。
>>アドインファイル&クラスモジュールで可能だと思います。テストしたらOKでした。
クラスで可能でした。
まず、クラスモジュール(クラス名は、Class1)で、
'=============================================================
Public WithEvents app As Application
Private Sub app_WorkbookBeforePrint(ByVal Wb As Workbook, Cancel As Boolean)
  Cancel = True
End Sub
'===============================================================
Private Sub Class_Initialize()
  Set app = Application
End Sub
'===============================================================
Private Sub Class_Terminate()
  Set app = Nothing
End Sub
'

標準モジュールで、
'===============================================================
Dim no_print As Class1
Sub 印刷禁止設定()
  Set no_print = New Class1
End Sub
'===============================================================
Sub 印刷禁止解除()
  Set no_print = Nothing
End Sub
'
で新規ブックの印刷も「印刷禁止設定」を実行すると可能になります。
 ───────────────────────────────────────  ■題名 : できました!  ■名前 : バジル  ■日付 : 02/9/28(土) 13:38  -------------------------------------------------------------------------
   ichinoseさん、レスありがとうございます。
クラスモジュールは使ったことがなかったので、時間がかかってしまいましたが、
やっとできました!!
ありがとうございました!m(._.)m
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 141