[[20081030095723]] 『マクロでパスワードをかけシートの保護』(KUN) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロでパスワードをかけシートの保護』(KUN)
 教えてください。

 シートに保護(パスワード付き)をかけています。
 マクロは、シートの保護を解除し、一部入力されたデータ「DELETE」して
 また、シートに保護(パスワード付き)をかける。・・・という動作を
 「マクロの記録」で作成いたしました。

 このマクロは動くのですが、シートの保護の部分で、パスワードが効かなくなってしまいました。

 マクロでパスワードをかけるのは無理なのでしょうか?

 記録したマクロです。ちなみにパスワードは1234で設定したのですが・・・
 ↓ 
  Macro1 Macro
     ActiveSheet.Unprotect
     Range("I2:J4").Select
     Selection.ClearContents
     ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
 End Sub

 記録したマクロには、パスワードの記述がありませんね。
 以前私もマクロの記録でパスワード付きシート保護を試したことがありますが、
 やはりできなかった記憶があります。

 どうしてもマクロで、ということでしたらVBAで記述する必要があるかと思います。
 (しばいぬ)

 他にも検索すればいろいろと見つかると思いますが、ご参考までに。
[[20061115111828]] 『シートの保護及び解除』(超初心者)
[[20061130105520]] 『複数シートを保護&解除するマクロ』(つまり)
 (Mook)

 ありがとうございます。
 早速いろいろ見てみました。
 私の理解不足なのか・・・少し違っているようなので、もう少し教えてください。

 今回教えていただいたものを見てみたんですが、
 パスワードの入力を要求するマクロだと理解したのですが・・・

 私は、ただパスワードを入力してシートの保護を解除し、・・・
 パスワードをかけてシートを保護したい!!というマクロなのです。
 相手はシートの保護を解除できない(パスワードを知らせない)で、
 マクロの実行を行う・・・という作業をしてもらいたいと考えております。

 説明が悪くてすみません。

 教えてください。お願いいたします。(KUN)

 シートのパスワードをマクロ内に書けば、入力をしなくとも
 保護したり解除することは技術的にはできます。

 ただ、それはセキュリティ的にいかがでしょうかというところで、
 入力を都度するようにしたのが先に紹介した中での内容です。

 たとえマクロにパスワードをかけても、ある程度の知識があれば
 パスワードを知ることができてしまうので、コード中にパスワードを
 埋め込むのはお勧めの方法ではありません。
 特に外に出すということであれば。

 それよりは、保護をはずさずに処理できるようにしたほうが良くないで
 しょうか。

 パスワードが漏れたら漏れたで、それはしょうがないというような重要度の
 データあれば下記が参考になるかと思います。
http://officetanaka.net/excel/vba/sheet/sheet07.htm
 (Mook)

 衝突しました><
 ほぼ同内容ですが・・・。

 1:パスワード付きでシートの保護をする
 2:シートの解除も自動で(パスワードの手入力なしで)行いたい
 ということでしょうか。

 自動記録したマクロにちょこっと追記すれば、実現できます。
 が、マクロのコードに直接パスワードを記述するわけですから、
 見る人が見れば、すぐにパスワードが何か分かってしまいます。
 KUNさんがパスワードを知らせなくても、知られてしまう可能性があるわけです。
 (シートの保護をかけても、VBEは開けましたし・・・)

 ※パスワードの入力を要求するマクロだと、上記の危険性をだいぶ回避できます。

 パスワードがばれる可能性がありますが、その辺についてはどうお考えですか?
 (しばいぬ)


 Mook様、しばいぬ様 ありがとうございます

 「シートのパスワードをマクロ内に書けば、入力をしなくとも
 保護したり解除することは技術的にはできます。」・・・これがしたいんだと思います。

 今回もシートの保護の意味が、ご入力を避ける為なので
 パスワードのセキュリティはあまり考えていません。
 パスワードを解読してまで《ズル》をしてしまう事はないとしています。

 「売り上げ目標」・「当日売り上げ高」・「当月累計売り上げ高」の報告資料で
 「当日売り上げ高」を入力してもらっています。
 「当日売り上げ高」のエリアだけ保護のロックをはずし、シートの保護をかけています。
 マクロで、「当月累計売り上げ高」に「当日売り上げ高」を加算しています。
 加算処理を行うのに一度シートの保護を解除して加算マクロを実行して保護をかける
 パスワードがかかってないとちょっと不安。でもマクロの記録じゃ出来なかったので
 こちらに相談させていただきました。
 
 どうか、宜しくお願いいたします。(KUN)
 

 
 


 ええと、MOOKさんが提示された
 http://officetanaka.net/excel/vba/sheet/sheet07.htm
 はまだご覧になっていないと推測いたします。

 ご覧になってみるとよいと思いますよ。
 (しばいぬ)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.