次の方法で共有


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

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

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

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

Note

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

デザイナーを使用する

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

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

    [シートの保護] ダイアログ ボックスが表示されます。 パスワードを設定し、必要に応じて、セルの書式設定や行の挿入など、ワークシートでユーザーに実行を許可する特定のアクションを指定できます。

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

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

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

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

実行時にコードを使用する

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

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

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

    Globals.Sheet1.Protect(getPasswordFromUser, true);
    

VSTO アドインで、コードを使用してワークシートを保護するには

  1. 作業中のワークシートの Protect メソッドを呼び出します。

    ((Excel.Worksheet)Application.ActiveSheet).Protect(getPasswordFromUser, true);