- ベストアンサー
エクセルでのページ設定の保護の仕方について
マクロやら計算式やらいろいろ入っているシートを他人に変更されないように 部分的にセルにロックをかけ、シートの保護をしたのですが、 「ページ設定」でのいろいろな設定は変更できてしまいます、 出来なくする方法は何かありませんか? よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。Wendy02です。 >教えていただいた方法は一体どこへ入力すればいいのでしょうか これは、初歩的なマクロなので、よく試してからお使いください。もっとも簡単な部類のマクロです。一旦、保存して、再び、登録したブックを開ければ設定されています。 Alt + F11 (Altを押しながらF11)を押すと、Visual Basic Editor 画面が出てきます。 左上側にプロジェクトエクスプローラの窓の中に、ThisWorkbook があったら、それをダブルクリックして、開けます。そして、以下のコードを貼り付けてください。 以下の線から下のものは、別のブックを呼び出したときは、解除するものです。念のために付け加えておきます。すべて同じ場所です。 'ThisWorkbookモジュール '-------------------------------- Private Sub Workbook_Open() 'ブックを開く時設定 On Error Resume Next Application.CommandBars("Worksheet Menu Bar").Controls("ファイル(&F)") _ .Controls("ページ設定(&U)...").Enabled = False End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) 'ブックを閉じる時に戻す On Error Resume Next Application.CommandBars("Worksheet Menu Bar").Controls("ファイル(&F)") _ .Controls("ページ設定(&U)...").Enabled = True End Sub '--------------------------------------------- Private Sub Workbook_WindowActivate(ByVal Wn As Window) 'ブックのウィンドウを戻したときとき On Error Resume Next Application.CommandBars("Worksheet Menu Bar").Controls("ファイル(&F)") _ .Controls("ページ設定(&U)...").Enabled = False End Sub Private Sub Workbook_WindowDeactivate(ByVal Wn As Window) 'ブックのウィンドウを変えるとき On Error Resume Next Application.CommandBars("Worksheet Menu Bar").Controls("ファイル(&F)") _ .Controls("ページ設定(&U)...").Enabled = True End Sub
その他の回答 (3)
- hayasi456
- ベストアンサー率40% (2402/5878)
>テンプレート的に使うのではなく >日々内容を更新やら積み重ねて使用するため enapiiさん以外の他の方々にも「ページ設定」以外、ロックを掛けていないセルの変更を許す。と言うことならば「ページ設定」は変更しないよう他の方々にお願いされてはいかがですか。 手間は掛かりますが利用される方々と話し合い皆さんが納得した「ページ設定」にすればと思います。 どしても、「ページ設定」を変更したい方にはコピーをとり自由にしてもらえばと思います。 「ページ設定」変更が出来ないようにされた場合も他の方々への通知は必要でしょう。
お礼
ページ設定以外にも変更されては困るところが多々ありそうです。 おっしゃるとおり、利用者とよく話し合うことが大切ですね。 回答ありがとうございました。 また、お礼が遅くなり失礼しました。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 ページ設定を変更できないようにするのは、どこら辺まででしょうか? 私は、いつも、この手の質問には、不思議に感じることがあるのは、相手があっての話で、相手をどこまで信用するかってことなんですね。この手の質問は、本当に、いろんなリクエストがあります。 以下で示す方法は、一番、簡単なレベルです。 Workbook_Open() イベントに、 CommandBars("Worksheet Menu Bar").Controls("ファイル(&F)").Controls("ページ設定(&U)...").Enabled = False この一文を加えれば、ページ設定は、灰色になって、できなくなります。 ブックを終了するときは、 Workbook_BeforeClose() イベントの時に、 設定したプロパティのFalse を、True に戻せば使えるようになります。 ただ、これは、メニューのファイルの中の[ページ設定]のみです。 これら、すべてを封じてしまうのは、ちょっと手間がかかりそうです。 >別ファイルとなってしまうと都合が悪くなります(別ファイルでは変更可能なため) これは、ページ設定とは意味が違うように思いますが。
補足
回答ありがとうございます。 確かにおっしゃるとおりです。 相手がどんなことをするかさっぱり見当がつかないので 実際とても難しいところです。 ところで、初歩的な質問かもしれませんが 教えていただいた方法は一体どこへ入力すればいいのでしょうか 「コードの表示」でVisualBasicを開いて・・・ その後は・・・ よろしくお願いします。
- hayasi456
- ベストアンサー率40% (2402/5878)
ツールバーの「ツール」→「オプション」→「セキュリティ」内「このブックのファイル共有の設定」で「編集パスワード」を設定すると、パスワードを入れない場合は読み取り専用のファイルとなるので上書き保存が出来なくなます。 結果「ページ設定」を変更できなくなります。 変更した内容で別のファイルとして保存はできます。
補足
回答ありがとうございます 質問の際の言葉不足ですみません。 >変更した内容で別のファイルとして保存はできます。 との点ですが テンプレート的に使うのではなく 日々内容を更新やら積み重ねて使用するため 別ファイルとなってしまうと都合が悪くなります(別ファイルでは変更可能なため) その点、何か解決できる方法はありませんでしょうか?
お礼
詳しく教えていただき、ありがとうございます。 やっと、できました!! また、お礼が遅くなり、大変失礼しました。