プロが教える店舗&オフィスのセキュリティ対策術

エクセルで、印刷できなくするマクロを作成し、社内に配布しましたが、「マクロを無効にする」を選択すると、通常通り印刷されてしまいます。配布された人のマクロセキュリティを変更しないで、常にマクロを有効にする方法などあるのでしょうか?

あれば非常に助かります。お教え願います。

A 回答 (7件)

No3です。

お待たせ~♪
こんな感じかな。

Private Sub Workbook_Open()
ActiveWorkbook.Unprotect Password:="error123"
Sheets("Sheet1").Visible = True
Sheets("Sheet1").Select
End Sub

これでマクロを有効にして開いたときだけSheet1が現れるわよ。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Sheet1").Visible = False
ActiveWorkbook.Protect Password:="error123"
End Sub

これで、終了したら自動的にSheet1を隠してブックを保護しちゃいます。
パスワードはわたしのHNね!

あと、知ってると思うけどVBAにもロック掛けておかないと詳しい人には覗かれちゃうわよ。

この回答への補足

ありがとうございます。素晴らしいです。

残念ながら、VBAのロック方法知りません。

また、教えて頂けます?

補足日時:2004/11/06 07:27
    • good
    • 0
この回答へのお礼

あと、VBAをコピペして、保存後、再度立上げ、マクロを無効にしても、通常通りsheet1は現れました。

何がまずいんでしょうか?

お礼日時:2004/11/06 12:29

No3と4です。

お待たせ~♪
shishishishiさん、どうもです。
さて、2つ以上のsheetを非表示?
こんな感じです。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Sheet1").Visible = False
Sheets("Sheet2").Visible = False
ActiveWorkbook.Protect Password:="error123"

End Sub

Private Sub Workbook_Open()
ActiveWorkbook.Unprotect Password:="error123"
Sheets("Sheet1").Visible = True
Sheets("Sheet2").Visible = True
Sheets("Sheet1").Select
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。これで完璧です。感謝に尽きません。

これで、明日、自慢できます ヽ(`△´)/

お礼日時:2004/11/07 21:09

No5です。



自分でもXPで実際にためしましたが、まちがいなく作動しました。

あと考えられるのは、閉じるときにマクロが有効でないと隠すほうのマクロは作動しませんが、大丈夫ですか?
つまりマクロを無効でひらいたあと、コピペして閉じてもSheet1は非表示になりません。

この回答への補足

すみません。何度もすみません。

2つ以上のsheetを非表示にする場合は、どうしたら良いでしょうか?

最後の質問です(^^;;

補足日時:2004/11/07 09:10
    • good
    • 0
この回答へのお礼

すみません。勘違いしてました(^^;;

マクロを2つ貼らずに1つのみしかコピペしてなかったのが、原因です。お手数をお掛けしました。

お礼日時:2004/11/07 08:11

横からすみません。



> VBAをコピペして、保存後、再度立上げ、マクロを無効にしても、通常通りsheet1は現れました。

どこに貼り付けましたか?
ひょっとして標準モジュール?
This Wookbook のところじゃなきゃだめですよ。

> VBAのロック方法知りません。

VBEで一番上の「ツール」→「VBAProjectのプロパティ」→「保護」→「プロジェクトのロック」→「パスワード」です。

この回答への補足

そうですね。コピペしたのは、This Wookbookのところで間違いありません。

あと、VBAのロックの仕方、了解しました。ありがとうございました。

補足日時:2004/11/06 14:12
    • good
    • 0

強制的にマクロを有効には出来ないけど、マクロを有効にしないと、そのシートが見えないように非表示にしてブック保護をかけておいたら?


マクロでブック保護を解除してシートを再表示せるの。

そしたら否応無しに有効にするしかないでしょ?

でもブックの終了時には自動的に元に戻さないとダメよ。

この回答への補足

ありがとうございます。素晴らしいアイデアです。

マクロでブック保護を解除してシートを再表示せるのが、一番よさそうですね。

すみません。そのマクロはどうやったらいいんでしょうか?具体的に教えて頂けませんか?

マクロに関しては未熟で.....

補足日時:2004/11/05 20:15
    • good
    • 0

それができてしまうと、マクロを使ったウイルスが大増殖してしまう恐れがあるため、強制的に有効にすることはできません。

    • good
    • 0

こんにちは


セキュリティ上、強制的にマクロを有効にすることはできなかったと記憶しています。

印刷をされたくない場合には、一旦PDFにし、セキュリティで【印刷不可】とするほうがよろしいのではないかと。。。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!