次の方法で共有


方法: プログラムによってワークシートを保護する

Microsoft Office Excel の保護機能を使用すると、ワークシート内のオブジェクトの編集をユーザーが行うことや、コードから行うことはできなくなります。既定では、保護を有効にすると、すべてのセルがロックされます。

対象: このトピックの情報は、Excel 2013 と Excel 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。

ドキュメント レベルのカスタマイズでは、Excel デザイナーを使用してワークシートを保護できます。プロジェクトの種類に関係なく、実行時にプログラムによってワークシートを保護することもできます。

[!メモ]

保護されているワークシートの領域に Windows フォーム コントロールを追加することはできません。

デザイナーの使用

デザイナーでワークシートを保護するには

  • [校閲] タブの [変更][シートの保護] をクリックします。

    [シートの保護] ダイアログ ボックスが表示されます。パスワードを設定できます。オプションで、セルの書式設定や行の挿入など、ユーザーにワークシートでの実行を許可する操作を指定することもできます。

ユーザーに、保護されたワークシート内の特定の範囲の編集を許可することもできます。

特定の範囲の編集を許可するには

  • [校閲] タブの [変更][範囲の編集を可能にする] をクリックします。

    [範囲の編集を許可] ダイアログ ボックスが表示されます。パスワードを使用してロックを解除できる範囲と、パスワードがなくても範囲を編集できるユーザーを指定できます。

実行時におけるコードの使用

次のコードは、(ユーザーから取得したパスワードを格納する変数 getPasswordFromUser を使用して) パスワードを設定し、並べ替えだけを許可します。

ドキュメント レベルのカスタマイズで、コードを使用してワークシートを保護するには

  • ワークシートの Protect メソッドを呼び出します。この例では、Sheet1 という名前のワークシートを使用すると仮定します。

    Globals.Sheet1.Protect(getPasswordFromUser, AllowSorting:=True)
    
    Globals.Sheet1.Protect(getPasswordFromUser, true);
    

アプリケーション レベルのアドインで、コードを使用してワークシートを保護するには

  • アクティブなワークシートの _Worksheet.Protect メソッドを呼び出します。

    CType(Application.ActiveSheet, Excel.Worksheet).Protect(getPasswordFromUser, AllowSorting:=True)
    
    ((Excel.Worksheet)Application.ActiveSheet).Protect(getPasswordFromUser, true);
    

参照

処理手順

方法: プログラムによってワークシートの保護を解除する

方法: プログラムによってブックを保護する

方法: プログラムによってワークシートを非表示にする

概念

ワークシートの操作

ホスト項目とホスト コントロールの概要

Worksheet ホスト項目

Office プロジェクト内のオブジェクトへのグローバル アクセス

Office ソリューションの省略可能なパラメーター