次の方法で共有


ExcelScript.WorksheetProtection interface

ワークシート オブジェクトの保護を表します。

注釈

/**
 * This script pauses the protection of a worksheet by using the provided password.
 * This password could come from a Power Automate flow.
 */
function main(workbook: ExcelScript.Workbook, password: string) {
  // Get the worksheet named "Sales".
  const sheet = workbook.getWorksheet("Sales");
  const protection: ExcelScript.WorksheetProtection = sheet.getProtection();
  
  // Check if the provided password works.
  if (protection.checkPassword(password)) {
    protection.pauseProtection(password);

    // Edit the worksheet...

    protection.resumeProtection();
  } else {
    console.log("Incorrect password");
  }
}

メソッド

addAllowEditRange(title, rangeAddress, options)

ワークシートに AllowEditRange オブジェクトを追加します。 このメソッドを正常に動作させるには、ワークシート保護を無効または一時停止する必要があります。 ワークシート保護が有効になっていて一時停止していない場合、このメソッドは AccessDenied エラーをスローし、追加操作は失敗します。

checkPassword(password)

パスワードを使用してワークシート保護のロックを解除できるかどうかを指定します。 このメソッドでは、ワークシート保護の状態は変更されません。 パスワードを入力しても、ワークシート保護のロックを解除するためにパスワードが必要ない場合、このメソッドは false を返します。

getAllowEditRange(key)

AllowEditRange オブジェクトをタイトルで取得します。

getAllowEditRanges()

このワークシートで見つかった AllowEditRangeCollection オブジェクトを指定します。 これは、ワークシート保護プロパティを使用する AllowEditRange オブジェクトのコレクションです。 ワークシート保護を有効にすると、 AllowEditRange オブジェクトを使用して、ワークシートの残りの部分で保護を維持しながら、特定の範囲の編集を許可できます。

getCanPauseProtection()

このワークシートの保護を一時停止できるかどうかを指定します。

getIsPasswordProtected()

シートがパスワードで保護されているかどうかを指定します。

getIsPaused()

ワークシートの保護を一時停止するかどうかを指定します。

getOptions()

ワークシートの保護オプションを指定します。

getProtected()

ワークシートが保護されているかどうかを指定します。

getSavedOptions()

ワークシートに保存されている保護オプションを指定します。 これにより、ワークシートの保護状態に関係なく、同じ WorksheetProtectionOptions オブジェクトが返されます。

pauseProtection(password)

現在のセッションのユーザーの特定のワークシート オブジェクトのワークシート保護を一時停止します。 ワークシートの保護が有効になっていないか、既に一時停止されている場合、このメソッドは何も実行しません。 パスワードが正しくない場合、このメソッドは InvalidArgument エラーをスローし、保護の一時停止に失敗します。 ワークシートの保護が有効になっていないか、既に一時停止している場合、このメソッドは保護の状態を変更しません。

pauseProtectionForAllAllowEditRanges(password)

現在のセッションのユーザーに対して指定されたパスワードを持つ、このワークシート内にあるすべての AllowEditRange オブジェクトのワークシート保護を一時停止します。 ワークシートの保護が有効になっていない場合、または一時停止されている場合、このメソッドは何も実行しません。 ワークシートの保護を一時停止できない場合、このメソッドは UnsupportedOperation エラーをスローし、範囲の保護を一時停止できません。 パスワードがコレクション内の AllowEditRange オブジェクトと一致しない場合、このメソッドは BadPassword エラーをスローし、コレクション内の任意の範囲の保護を一時停止できません。

protect(options, password)

ワークシートを保護します。 ワークシートが既に保護されている場合、失敗します。

resumeProtection()

特定のセッション内のユーザーの特定のワークシート オブジェクトのワークシート保護を再開します。 このメソッドを機能させるには、ワークシートの保護を一時停止する必要があります。 ワークシートの保護が一時停止されていない場合、このメソッドはワークシートの保護状態を変更しません。

setPassword(password)

WorksheetProtection オブジェクトに関連付けられているパスワードを変更します。 パスワードを空の文字列 ("") または null として設定すると、 WorksheetProtection オブジェクトからパスワード保護が削除されます。 このメソッドを正常に動作させるには、ワークシート保護を有効にして一時停止する必要があります。 ワークシート保護が無効になっている場合、このメソッドは InvalidOperation エラーをスローし、パスワードの変更に失敗します。 ワークシート保護が有効になっていて一時停止していない場合、このメソッドは AccessDenied エラーをスローし、パスワードの変更に失敗します。

unprotect(password)

ワークシートの保護を解除します。

updateOptions(options)

WorksheetProtection オブジェクトに関連付けられているワークシート保護オプションを変更します。 このメソッドを正常に動作させるには、ワークシート保護を無効または一時停止する必要があります。 ワークシート保護が有効になっていて一時停止していない場合、このメソッドは AccessDenied エラーをスローし、ワークシート保護オプションの変更に失敗します。

メソッドの詳細

addAllowEditRange(title, rangeAddress, options)

ワークシートに AllowEditRange オブジェクトを追加します。 このメソッドを正常に動作させるには、ワークシート保護を無効または一時停止する必要があります。 ワークシート保護が有効になっていて一時停止していない場合、このメソッドは AccessDenied エラーをスローし、追加操作は失敗します。

addAllowEditRange(
            title: string,
            rangeAddress: string,
            options?: AllowEditRangeOptions
        ): void;

パラメーター

title

string

追加する AllowEditRange オブジェクトのタイトル文字列。

rangeAddress

string

追加する AllowEditRange オブジェクトの範囲アドレス。

options
ExcelScript.AllowEditRangeOptions

パスワードなど、 AllowEditRange オブジェクトに追加する追加のオプション。

戻り値

void

/**
 * This script adds a password-protected, editable range
 * to an otherwise protected worksheet.
 */
function main(workbook: ExcelScript.Workbook, password: string) {
    // Get the protection object for the "Data" worksheet.
    const dataSheet = workbook.getWorksheet("Data");
    const sheetProtection = dataSheet.getProtection();

    // Set the password needed to edit the range to be the user provided string.
    const editRangeProperties : ExcelScript.AllowEditRangeOptions = {
        password: password
    };

    // Set range "D2:D6" to be editable if the password is provided.
    sheetProtection.addAllowEditRange("Notes Section", "D2:D6", editRangeProperties);
    
    // Protect the worksheet.
    sheetProtection.protect();
}

checkPassword(password)

パスワードを使用してワークシート保護のロックを解除できるかどうかを指定します。 このメソッドでは、ワークシート保護の状態は変更されません。 パスワードを入力しても、ワークシート保護のロックを解除するためにパスワードが必要ない場合、このメソッドは false を返します。

checkPassword(password?: string): boolean;

パラメーター

password

string

保護されたワークシートに対して確認するパスワード。

戻り値

boolean

getAllowEditRange(key)

AllowEditRange オブジェクトをタイトルで取得します。

getAllowEditRange(key: string): AllowEditRange | undefined;

パラメーター

key

string

AllowEditRangeのタイトル。

戻り値

getAllowEditRanges()

このワークシートで見つかった AllowEditRangeCollection オブジェクトを指定します。 これは、ワークシート保護プロパティを使用する AllowEditRange オブジェクトのコレクションです。 ワークシート保護を有効にすると、 AllowEditRange オブジェクトを使用して、ワークシートの残りの部分で保護を維持しながら、特定の範囲の編集を許可できます。

getAllowEditRanges(): AllowEditRange[];

戻り値

getCanPauseProtection()

このワークシートの保護を一時停止できるかどうかを指定します。

getCanPauseProtection(): boolean;

戻り値

boolean

getIsPasswordProtected()

シートがパスワードで保護されているかどうかを指定します。

getIsPasswordProtected(): boolean;

戻り値

boolean

getIsPaused()

ワークシートの保護を一時停止するかどうかを指定します。

getIsPaused(): boolean;

戻り値

boolean

getOptions()

ワークシートの保護オプションを指定します。

getOptions(): WorksheetProtectionOptions;

戻り値

getProtected()

ワークシートが保護されているかどうかを指定します。

getProtected(): boolean;

戻り値

boolean

getSavedOptions()

ワークシートに保存されている保護オプションを指定します。 これにより、ワークシートの保護状態に関係なく、同じ WorksheetProtectionOptions オブジェクトが返されます。

getSavedOptions(): WorksheetProtectionOptions;

戻り値

pauseProtection(password)

現在のセッションのユーザーの特定のワークシート オブジェクトのワークシート保護を一時停止します。 ワークシートの保護が有効になっていないか、既に一時停止されている場合、このメソッドは何も実行しません。 パスワードが正しくない場合、このメソッドは InvalidArgument エラーをスローし、保護の一時停止に失敗します。 ワークシートの保護が有効になっていないか、既に一時停止している場合、このメソッドは保護の状態を変更しません。

pauseProtection(password?: string): void;

パラメーター

password

string

保護されたワークシートに関連付けられているパスワード。

戻り値

void

pauseProtectionForAllAllowEditRanges(password)

現在のセッションのユーザーに対して指定されたパスワードを持つ、このワークシート内にあるすべての AllowEditRange オブジェクトのワークシート保護を一時停止します。 ワークシートの保護が有効になっていない場合、または一時停止されている場合、このメソッドは何も実行しません。 ワークシートの保護を一時停止できない場合、このメソッドは UnsupportedOperation エラーをスローし、範囲の保護を一時停止できません。 パスワードがコレクション内の AllowEditRange オブジェクトと一致しない場合、このメソッドは BadPassword エラーをスローし、コレクション内の任意の範囲の保護を一時停止できません。

pauseProtectionForAllAllowEditRanges(password: string): void;

パラメーター

password

string

AllowEditRange オブジェクトの保護を一時停止するためのパスワード。

戻り値

void

protect(options, password)

ワークシートを保護します。 ワークシートが既に保護されている場合、失敗します。

protect(options?: WorksheetProtectionOptions, password?: string): void;

パラメーター

options
ExcelScript.WorksheetProtectionOptions

省略可能。 シートの保護のオプション。

password

string

省略可能。 シート保護パスワード。

戻り値

void

/**
 * This script protects cells from being selected on the current worksheet.
 */
function main(workbook: ExcelScript.Workbook) {
  // Get the protection settings for the current worksheet.
  const currentSheet = workbook.getActiveWorksheet();
  const sheetProtection = currentSheet.getProtection();

  // Create a new WorksheetProtectionOptions object with the selectionMode property set to `none`.
  let protectionOptions : ExcelScript.WorksheetProtectionOptions = {
    selectionMode: ExcelScript.ProtectionSelectionMode.none
  }

  // Apply the given protection options.
  sheetProtection.protect(protectionOptions);
}

resumeProtection()

特定のセッション内のユーザーの特定のワークシート オブジェクトのワークシート保護を再開します。 このメソッドを機能させるには、ワークシートの保護を一時停止する必要があります。 ワークシートの保護が一時停止されていない場合、このメソッドはワークシートの保護状態を変更しません。

resumeProtection(): void;

戻り値

void

setPassword(password)

WorksheetProtection オブジェクトに関連付けられているパスワードを変更します。 パスワードを空の文字列 ("") または null として設定すると、 WorksheetProtection オブジェクトからパスワード保護が削除されます。 このメソッドを正常に動作させるには、ワークシート保護を有効にして一時停止する必要があります。 ワークシート保護が無効になっている場合、このメソッドは InvalidOperation エラーをスローし、パスワードの変更に失敗します。 ワークシート保護が有効になっていて一時停止していない場合、このメソッドは AccessDenied エラーをスローし、パスワードの変更に失敗します。

setPassword(password?: string): void;

パラメーター

password

string

WorksheetProtection オブジェクトに関連付けられているパスワード。

戻り値

void

unprotect(password)

ワークシートの保護を解除します。

unprotect(password?: string): void;

パラメーター

password

string

シート保護パスワード。

戻り値

void

updateOptions(options)

WorksheetProtection オブジェクトに関連付けられているワークシート保護オプションを変更します。 このメソッドを正常に動作させるには、ワークシート保護を無効または一時停止する必要があります。 ワークシート保護が有効になっていて一時停止していない場合、このメソッドは AccessDenied エラーをスローし、ワークシート保護オプションの変更に失敗します。

updateOptions(options: WorksheetProtectionOptions): void;

パラメーター

options
ExcelScript.WorksheetProtectionOptions

WorksheetProtection オブジェクトに関連付けられているオプション インターフェイス。

戻り値

void