OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

シート保護のパスワードは・・・

  • すぐに回答を!
  • 質問No.117595
  • 閲覧数294
  • ありがとう数4
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 67% (35/52)

下の「シート保護」マクロは、パスワード「111」でシートを保護しなさい。
   「シート保護解除」マクロは、パスワード「111」でシートの保護解除をしなさい。
という命令だと思うのですが・・・


Sub シート保護()
  ActiveSheet.Protect possword = "111"
End Sub


Sub シート保護解除()
  ActiveSheet.Unprotect possword = "111"
End Sub

パスワードを入力してシートの保護を解除しようとすると、
入力したパスワードは間違っています。
CapsLockキーがオフになっていることを確認し、
大文字と小文字が正しく使われていることを確認してください。
というメッセージが出るのですが・・・、
マクロで作成した保護は、マクロで解除しないとダメという意味なのですか?
シートで保護解除できるようにしたいのですが、できますか?
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル8

ベストアンサー率 37% (13/35)

:について...

私の勝手な解釈で宜しければ。
あるメソッドに対して複数の省略可能で、型が同じ(後、順不同)な
引数があるときに、これは何用の値だよ、と宣言しているだけかな?
そのまま=にしてしまうと、構文上宜しくないので:=にしている?

例えば、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"等にしていますが、それでは正常に
  動作しないと思いますので...
  あと、繰り返し書きますが、何かで読んだ、誰かに教わったと言う訳では
  有りません。私の勝手な解釈です。
お礼コメント
iillyy

お礼率 67% (35/52)

ご丁寧な解説、頭の下がる思いです。
ありがとうございました。
自宅ではインターネットをしていないので、カフェより返信です。
印刷して持って帰ります。
かなり・・・感激しました。
またいつか、お世話してください・・・。
投稿日時 - 2001-08-14 20:26:40
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル9

ベストアンサー率 0% (0/4)

VBで作成したパスワードをシートで保護したいってこと? たぶんねー。 無理だったような????? よく分かんないなー。 ...続きを読む
VBで作成したパスワードをシートで保護したいってこと?
たぶんねー。
無理だったような?????
よく分かんないなー。
補足コメント
iillyy

お礼率 67% (35/52)

ファイルを閉じる前に、全シートを保護するよう設定しました。
ツール→保護→保護解除として解除できますか?
・・・そのような意味でした。
パスワードをつけてもつけなくても、意味がないような気がするのですが???
投稿日時 - 2001-08-12 12:32:20
  • 回答No.2
レベル8

ベストアンサー率 37% (13/35)

どもです。 惜しいですね、ちょっとした記述ミスです。 オブジェクト(ActiveSheets)とメソッド(Protect)は合ってます。 でメソッドの引数がちょっとだけ間違ってます。 possword = "111" '元 password:="111" '修正後 これで試してみてください。 Unprotectも同じです。 ...続きを読む
どもです。
惜しいですね、ちょっとした記述ミスです。

オブジェクト(ActiveSheets)とメソッド(Protect)は合ってます。
でメソッドの引数がちょっとだけ間違ってます。
possword = "111" '元
password:="111" '修正後

これで試してみてください。
Unprotectも同じです。
お礼コメント
iillyy

お礼率 67% (35/52)

掲示板上でも記述ミス・・・
passwordと入っていました。
「:」がなかったみたいです・・・。
「:」はどのような役目を果たしているのですか?
機会がありましたら、また教えてください。
ありがとうございました。
投稿日時 - 2001-08-13 20:47:38
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ