下の「シート保護」マクロは、パスワード「111」でシートを保護しなさい。
「シート保護解除」マクロは、パスワード「111」でシートの保護解除をしなさい。
という命令だと思うのですが・・・
Sub シート保護()
ActiveSheet.Protect possword = "111"
End Sub
Sub シート保護解除()
ActiveSheet.Unprotect possword = "111"
End Sub
パスワードを入力してシートの保護を解除しようとすると、
入力したパスワードは間違っています。
CapsLockキーがオフになっていることを確認し、
大文字と小文字が正しく使われていることを確認してください。
というメッセージが出るのですが・・・、
マクロで作成した保護は、マクロで解除しないとダメという意味なのですか?
シートで保護解除できるようにしたいのですが、できますか?
No.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"等にしていますが、それでは正常に
動作しないと思いますので...
あと、繰り返し書きますが、何かで読んだ、誰かに教わったと言う訳では
有りません。私の勝手な解釈です。
ご丁寧な解説、頭の下がる思いです。
ありがとうございました。
自宅ではインターネットをしていないので、カフェより返信です。
印刷して持って帰ります。
かなり・・・感激しました。
またいつか、お世話してください・・・。
No.2
- 回答日時:
どもです。
惜しいですね、ちょっとした記述ミスです。
オブジェクト(ActiveSheets)とメソッド(Protect)は合ってます。
でメソッドの引数がちょっとだけ間違ってます。
possword = "111" '元
password:="111" '修正後
これで試してみてください。
Unprotectも同じです。
掲示板上でも記述ミス・・・
passwordと入っていました。
「:」がなかったみたいです・・・。
「:」はどのような役目を果たしているのですか?
機会がありましたら、また教えてください。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
ブック名、シート名を他のモジ...
-
excelのマクロで該当処理できな...
-
【ExcelVBA】全シートのセルの...
-
別のシートから値を取得するとき
-
Excelマクロのエラーを解決した...
-
実行時エラー'1004': WorkSheet...
-
ユーザーフォームに入力したデ...
-
VBA 存在しないシートを選...
-
エクセルのシート名変更で重複...
-
VBA 最終行まで数式をコピーする
-
【VBA】特定の文字で改行(次の...
-
エクセルの特定のシートのみを...
-
同じ作業を複数のシートに実行...
-
VBA 入力月で該当シートを選択...
-
ExcelVBAから,引数を渡してVBs...
-
【Excel VBA】Worksheets().Act...
-
XL:BeforeDoubleClickが動かない
-
VBAで同じシート名のコピー時は...
-
ExcelVBA:複数の特定のグラフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
excelのマクロで該当処理できな...
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
別のシートから値を取得するとき
-
ブック名、シート名を他のモジ...
-
実行時エラー'1004': WorkSheet...
-
Excelマクロのエラーを解決した...
-
XL:BeforeDoubleClickが動かない
-
シートが保護されている状態で...
-
エクセルのシート名変更で重複...
-
実行時エラー1004「Select メソ...
-
VBAで同じシート名のコピー時は...
-
エクセルで通し番号を入れてチ...
-
同じ作業を複数のシートに実行...
-
Excel VBA リンク先をシート...
-
ExcelのVBAのマクロで他のシー...
-
Vba UserformからExcelシートの...
-
【Excel VBA】Worksheets().Act...
-
VBA 存在しないシートを選...
おすすめ情報