- ベストアンサー
シート保護のパスワードと保護解除について
- シート保護についてパスワードを設定し、保護解除する方法について説明します。
- マクロを使用してシートを保護し、パスワードを入力して保護解除する方法について説明します。
- パスワードを間違って入力した場合に表示されるエラーメッセージについて説明します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
:について... 私の勝手な解釈で宜しければ。 あるメソッドに対して複数の省略可能で、型が同じ(後、順不同)な 引数があるときに、これは何用の値だよ、と宣言しているだけかな? そのまま=にしてしまうと、構文上宜しくないので:=にしている? 例えば、Protect メソッドのヘルプを見てみると expression.Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly) ↑という構文になっています。(ワークシート用) で、引数はPassword,Structure,Windowsの5つ有りますよね。 この引数は全て省略可能になっていますが、もし、そうでない時は expression.Protect("Password", "DrawingObjects", "Contents", "Scenarios", "UserInterfaceOnly") となり、順番道理に値を使えばよいのですが、省略可能云々の条件で ~~:=と言うのを使わずに expression.Protect("Password", "UserInterfaceOnly") と書いてしまうと、 Password="Password", DrawingObjects="UserInterfaceOnly" となってしまいます。 それでは困るので、~~:=を使い、この値は~~用の値だよと明示的に 宣言しているのではないでしょうか。 あまり文書で説明するのは得意でないので、よく解らないかも知れませんが... こんな説明でどうでしょ。 注:Protectの引数は実際にはPassword以外"True"か"False"です。 ここでは、"UserInterfaceOnly"等にしていますが、それでは正常に 動作しないと思いますので... あと、繰り返し書きますが、何かで読んだ、誰かに教わったと言う訳では 有りません。私の勝手な解釈です。
その他の回答 (2)
- trytrytry
- ベストアンサー率37% (13/35)
どもです。 惜しいですね、ちょっとした記述ミスです。 オブジェクト(ActiveSheets)とメソッド(Protect)は合ってます。 でメソッドの引数がちょっとだけ間違ってます。 possword = "111" '元 password:="111" '修正後 これで試してみてください。 Unprotectも同じです。
お礼
掲示板上でも記述ミス・・・ passwordと入っていました。 「:」がなかったみたいです・・・。 「:」はどのような役目を果たしているのですか? 機会がありましたら、また教えてください。 ありがとうございました。
- finefinefine
- ベストアンサー率0% (0/4)
VBで作成したパスワードをシートで保護したいってこと? たぶんねー。 無理だったような????? よく分かんないなー。
補足
ファイルを閉じる前に、全シートを保護するよう設定しました。 ツール→保護→保護解除として解除できますか? ・・・そのような意味でした。 パスワードをつけてもつけなくても、意味がないような気がするのですが???
お礼
ご丁寧な解説、頭の下がる思いです。 ありがとうございました。 自宅ではインターネットをしていないので、カフェより返信です。 印刷して持って帰ります。 かなり・・・感激しました。 またいつか、お世話してください・・・。