ExcelScript.Range interface
範囲は、セル、行、列、セルのブロックなど、1 つ以上の連続したセルのセットを表します。
注釈
例
/**
* This script logs the address of the used range in the current worksheet.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the current, active worksheet.
let currentWorksheet = workbook.getActiveWorksheet();
// Get the range containing all the cells with data or formatting.
let usedRange = currentWorksheet.getUsedRange();
// Log the range's address to the console.
console.log(usedRange.getAddress());
}
メソッド
add |
コレクションに新しい条件付き書式を最初または最優先事項で追加します。 |
auto |
指定したオートフィル ロジックを使用して、現在の範囲からターゲット範囲までの範囲を入力します。 変換先の範囲は、 |
calculate() | ワークシート上のセルの範囲を計算します。 |
clear(apply |
範囲の値、書式、塗りつぶし、罫線などをクリアします。 |
clear |
現在指定している範囲でアクティブなすべての条件付き書式をクリアする。 |
convert |
データ型を持つ範囲セルをテキストに変換します。 |
copy |
セル データまたは書式設定をソース範囲または |
delete(shift) | 範囲に関連付けられているセルを削除します。 |
find(text, criteria) | 指定された条件に基づいて指定された文字列を見つけます。 現在の範囲が 1 つのセルより大きい場合、検索はその範囲に制限されます。それ以外の場合、検索はそのセルの後から始まるシート全体をカバーします。 一致しない場合、このメソッドは |
flash |
現在の範囲にフラッシュフィルを実行します。 パターンを検出すると、フラッシュ フィルによってデータが自動的に塗りつぶされるため、パターンを見つけるには、範囲が 1 つの列範囲で、周囲にデータが含まれている必要があります。 |
get |
現在の |
get |
範囲参照を A1 スタイルで指定します。 アドレス値にはシート参照が含まれます (例: "Sheet1!A1:B4")。 |
get |
ユーザーの言語で指定した範囲の範囲参照を表します。 |
get |
指定した範囲を包含する、最小の Range オブジェクトを取得します。 たとえば、"B2:C5" と "D10:E15" の |
get |
行と列の番号に基づいて、1 つのセルを含んだ範囲オブジェクトを取得します。 セルは、ワークシートのグリッド内に留まる限り、親範囲の範囲外にすることができます。 返されるセルは、範囲の左上のセルを基準に配置されます。 |
get |
範囲内のセルの数を指定します。 セルの数が 2^31-1 (2,147,483,647) を超えると、この API は -1 を返します。 |
get |
範囲に含まれる列を 1 つ取得します。 |
get |
範囲内の列の合計数を指定します。 |
get |
現在の範囲内のすべての列が非表示の場合にを表します。 値は、範囲内のすべての列が非表示の場合に |
get |
範囲内の最初のセルの列番号を指定します。 0 を起点とする番号になります。 |
get |
現在の |
get |
現在の |
get |
ID で識別される条件付き形式を返します。 条件付き書式オブジェクトが存在しない場合、このメソッドは |
get |
範囲と交差する |
get |
dataValidation オブジェクトを返します。 |
get |
同じワークシート内または複数のワークシートで、指定した範囲のすべての直接の優先順位セルを含む範囲を表す |
get |
範囲の列全体を表すオブジェクトを取得します (たとえば、現在の範囲がセル "B4:E11" を表す場合、その |
get |
範囲の行全体を表すオブジェクトを取得します (たとえば、現在の範囲がセル "B4:E11" を表している場合、その |
get |
指定した方向に基づいて、現在の範囲と範囲の端までの範囲オブジェクトを返します。 これは、Windows UI 上の Excel の Ctrl + Shift + 方向キーの動作と一致します。 |
get |
Format オブジェクト (範囲のフォント、塗りつぶし、罫線、配置などのプロパティをカプセル化するオブジェクト) を返します。 |
get |
セルの数式を A1 スタイルの表記で表します。 範囲に複数のセルが含まれている場合は、最初のセルのデータ (行インデックスが 0、列インデックスが 0 で表されます) が返されます。 |
get |
ユーザーの言語と数値書式のロケールで、セルの数式を A1 スタイル表記で表します。 たとえば、英語の数式 "=SUM(A1, 1.5)" は、ドイツ語では "=SUMME(A1; 1,5)" になります。 範囲に複数のセルが含まれている場合は、最初のセルのデータ (行インデックスが 0、列インデックスが 0 で表されます) が返されます。 |
get |
セルの数式を R1C1 スタイルの表記で表します。 範囲に複数のセルが含まれている場合は、最初のセルのデータ (行インデックスが 0、列インデックスが 0 で表されます) が返されます。 |
get |
A1 スタイル表記の数式を表します。 セルに数式がない場合は、代わりに値が返されます。 |
get |
ユーザーの言語と数値書式ロケールで、A1 スタイル表記の数式を表します。 たとえば、英語の数式 "=SUM(A1, 1.5)" は、ドイツ語では "=SUMME(A1; 1,5)" になります。 セルに数式がない場合は、代わりに値が返されます。 |
get |
R1C1 スタイル表記の数式を表します。 セルに数式がない場合は、代わりに値が返されます。 |
get |
すべてのセルにスピル ボーダーがあるかどうかを表します。 すべてのセルにスピル罫線がある場合は |
get |
範囲の上端から範囲の下端までの 100% ズームの距離をポイント単位で返します。 |
get |
現在の範囲内のすべてのセルが非表示かどうかを表します。 値は、範囲内のすべてのセルが非表示の場合に |
get |
現在の範囲のハイパーリンクを表します。 |
get |
範囲を base64 でエンコードされた png イメージとしてレンダリングします。 |
get |
指定した範囲の長方形の交差を表す範囲オブジェクトを取得します。 積集合が見つからない場合、このメソッドは |
get |
現在の範囲が列全体であるかどうかを表します。 |
get |
現在の範囲が行全体であるかどうかを表します。 |
get |
範囲内の最後のセルを取得します。 たとえば、"B2:D5" の最後のセルは "D5" になります。 |
get |
範囲内の最後の列を取得します。 たとえば、"B2:D5" の最後の列は "D2:D5" になります。 |
get |
範囲内の最後の行を取得します。 たとえば、"B2:D5" の最後の行は "B5:D5" になります。 |
get |
ワークシートの左端から範囲の左端までの 100% ズームの距離をポイント単位で返します。 |
get |
セルのデータ型の状態を表します。 |
get |
各セルのデータ型の状態を表します。 |
get |
この範囲内のマージされた領域を表す |
get |
指定した範囲のセル Excel の数値書式コードを表します。 範囲に複数のセルが含まれている場合は、最初のセルのデータ (行インデックスが 0、列インデックスが 0 で表されます) が返されます。 |
get |
各セルの数値形式のカテゴリを表します。 |
get |
範囲内の最初のセルの数値形式カテゴリを指定します (行インデックスは 0、列インデックスは 0 で表されます)。 |
get |
ユーザーの言語設定に基づいて、指定した範囲のセル Excel の数値書式コードを表します。excel では、 |
get |
指定した範囲の Excel の数値書式コードを表します。 |
get |
ユーザーの言語設定に基づいて、指定した範囲の Excel の数値書式コードを表します。 excel では、 |
get |
指定した範囲からのオフセットで範囲を表すオブジェクトを取得します。 返される範囲のディメンションは、この範囲と一致します。 結果の範囲がワークシートのグリッドの境界線の外にはみ出る場合は、エラーがスローされます。 |
get |
範囲と重複するピボットテーブルのスコープ付きコレクションを取得します。 |
get |
現在の範囲のスタイルを表します。 セルのスタイルに一貫性がない場合は、 |
get |
指定した方向に対応するデータ領域のエッジ セルである range オブジェクトを返します。 これは、Windows UI 上の Excel の Ctrl + 方向キーの動作と一致します。 |
get |
現在の |
get |
範囲に含まれている行を 1 つ取得します。 |
get |
範囲に含まれる行の合計数を返します。 |
get |
現在の範囲内のすべての行が非表示になっているかどうかを表します。 値は、範囲内のすべての行が非表示の場合に |
get |
範囲に含まれる最初のセルの行番号を返します。 0 を起点とする番号になります。 |
get |
現在の |
get |
現在の |
get |
すべてのセルを配列数式として保存するかどうかを表します。 すべてのセルを配列数式として保存する場合は |
get |
現在の範囲について、範囲の並べ替えを表します。 |
get |
指定した型と値に一致するすべてのセルを表す 1 つ以上の範囲を含む、 |
get |
アンカー セルで呼び出されたとき、スピル範囲を含む範囲オブジェクトを取得します。 範囲がアンカー セルではない場合、またはスピル範囲が見つからない場合、このメソッドは |
get |
セルがスピルされるアンカー セルを含む range オブジェクトを取得します。 スピルされたセルではない場合、または複数のセルが指定されている場合、このメソッドは |
get |
この範囲内の左上のセルの周囲の領域を表す |
get |
範囲と重なるテーブルの集まりを範囲限定で取得します。 |
get |
指定した範囲の Text 値を表します。 テキスト値は、セルの幅には依存しません。 Excel UI で発生する # 記号による置換は、この API から返されるテキスト値には影響しません。 範囲に複数のセルが含まれている場合は、最初のセルのデータ (行インデックスが 0、列インデックスが 0 で表されます) が返されます。 |
get |
指定した範囲のテキスト値。 テキスト値は、セルの幅には依存しません。 Excel UI で発生する数値記号 (#) の置換は、API によって返されるテキスト値には影響しません。 |
get |
ワークシートの上端から範囲の上端までの 100% ズームの距離をポイント単位で返します。 |
get |
指定した範囲オブジェクトのうち使用されている範囲を返します。 範囲内に使用されているセルがない場合、このメソッドは |
get |
指定した範囲の生の値を表します。 返されるデータの型は、文字列、数値、ブール値のいずれかになります。 エラーが含まれているセルは、エラー文字列を返します。 範囲に複数のセルが含まれている場合は、最初のセルのデータ (行インデックスが 0、列インデックスが 0 で表されます) が返されます。 |
get |
指定した範囲の Raw 値を表します。 返されるデータは、文字列、数値、またはブール値のいずれかです。 エラーが含まれているセルは、エラー文字列を返します。 返される値が正符号 ("+")、マイナス ("-")、または等号 ("=") で始まる場合、Excel はこの値を数式として解釈します。 |
get |
セル内のデータの種類を表します。 範囲に複数のセルが含まれている場合は、最初のセルのデータ (行インデックスが 0、列インデックスが 0 で表されます) が返されます。 |
get |
各セル内のデータの種類を指定します。 |
get |
現在の範囲の表示されている行を表します。 |
get |
範囲の左端から範囲の右端までの 100% ズームの距離をポイント単位で返します。 |
get |
現在の範囲を含んでいるワークシート。 |
group(group |
アウトラインの列と行をグループします。 |
hide |
行または列グループの詳細を非表示にします。 |
insert(shift) | この範囲を占めるセルまたはセルの範囲をワークシートに挿入し、領域を空けるために他のセルをシフトします。 現在の空白位置にある新しい |
merge(across) | 範囲内のセルをワークシートの 1 つの領域に結合します。 |
move |
セルの値、書式、数式を現在の範囲から変換先の範囲に移動し、それらのセルの古い情報を置き換えます。 ターゲット範囲が現在の範囲より小さい場合、自動的に拡張されます。 元の範囲の範囲外にあるターゲット範囲のセルは変更されません。 |
remove |
列によって指定される範囲から重複する値を削除します。 |
replace |
現在の範囲内で、指定された条件に基づき、指定された文字列を検索し、置換します。 |
select() | Excel UI で指定した範囲を選択します。 |
set |
現在の範囲内のすべての列が非表示の場合にを表します。 値は、範囲内のすべての列が非表示の場合に |
set |
次の再計算が発生したときに再計算する範囲を設定します。 |
set |
セルの数式を A1 スタイルの表記で設定します。 範囲に複数のセルが含まれている場合は、指定された範囲の各セルが入力データで更新されます。 |
set |
ユーザーの言語と数値書式のロケールで、セルの数式を A1 スタイル表記で設定します。 たとえば、英語の数式 "=SUM(A1, 1.5)" は、ドイツ語では "=SUMME(A1; 1,5)" になります。 範囲に複数のセルが含まれている場合は、指定された範囲の各セルが入力データで更新されます。 |
set |
セルの数式を R1C1 スタイルの表記で設定します。 範囲に複数のセルが含まれている場合は、指定された範囲の各セルが入力データで更新されます。 |
set |
A1 スタイル表記の数式を表します。 セルに数式がない場合は、代わりに値が返されます。 |
set |
ユーザーの言語と数値書式ロケールで、A1 スタイル表記の数式を表します。 たとえば、英語の数式 "=SUM(A1, 1.5)" は、ドイツ語では "=SUMME(A1; 1,5)" になります。 セルに数式がない場合は、代わりに値が返されます。 |
set |
R1C1 スタイル表記の数式を表します。 セルに数式がない場合は、代わりに値が返されます。 |
set |
現在の範囲のハイパーリンクを表します。 |
set |
指定した範囲のセル Excel 数値書式コードを設定します。 範囲に複数のセルが含まれている場合は、指定された範囲の各セルが入力データで更新されます。 |
set |
ユーザーの言語設定に基づいて、指定した範囲のセル Excel 番号書式コードを設定します。excel では、 |
set |
指定した範囲の Excel の数値書式コードを表します。 |
set |
ユーザーの言語設定に基づいて、指定した範囲の Excel の数値書式コードを表します。 excel では、 |
set |
現在の範囲のスタイルを表します。 |
set |
現在の範囲内のすべての行が非表示になっているかどうかを表します。 値は、範囲内のすべての行が非表示の場合に |
set |
指定した範囲の生の値を設定します。 設定されるデータの型は、文字列、数値、またはブール値のいずれかです。
|
set |
指定した範囲の生の値を設定します。 指定されるデータには、文字列、数値、またはブール値を指定できます。 指定された値が正符号 ("+")、マイナス ("-")、または等号 ("=") で始まる場合、Excel はこの値を数式として解釈します。 |
show |
アクティブ セルに多数の値が含まれる場合、そのセルのカードを表示します。 |
show |
行または列グループの詳細を表示します。 |
ungroup(group |
アウトラインの列と行のグループ化を解除します。 |
unmerge() | 範囲内のセルを結合解除して別々のセルにします。 |
メソッドの詳細
addConditionalFormat(type)
コレクションに新しい条件付き書式を最初または最優先事項で追加します。
addConditionalFormat(type: ConditionalFormatType): ConditionalFormat;
パラメーター
追加される条件付き書式の種類。 詳細は「ExcelScript.ConditionalFormatType
」をご覧ください。
戻り値
例
/**
* This sample applies conditional formatting to the currently used range in the worksheet.
* The conditional formatting is a green fill for the top 10% of values.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the current worksheet.
let selectedSheet = workbook.getActiveWorksheet();
// Get the used range in the worksheet.
let range = selectedSheet.getUsedRange();
// Set the fill color to green for the top 10% of values in the range.
let conditionalFormat = range.addConditionalFormat(ExcelScript.ConditionalFormatType.topBottom)
conditionalFormat.getTopBottom().getFormat().getFill().setColor("green");
conditionalFormat.getTopBottom().setRule({
rank: 10, // The percentage threshold.
type: ExcelScript.ConditionalTopBottomCriterionType.topPercent // The type of the top/bottom condition.
});
}
autoFill(destinationRange, autoFillType)
指定したオートフィル ロジックを使用して、現在の範囲からターゲット範囲までの範囲を入力します。 変換先の範囲は、 null
することも、ソース範囲を水平方向または垂直方向に拡張することもできます。 連続しない範囲はサポートされていません。
autoFill(
destinationRange?: Range | string,
autoFillType?: AutoFillType
): void;
パラメーター
- destinationRange
-
ExcelScript.Range | string
変換先の範囲をオートフィルします。 ターゲット範囲が null
の場合、周囲のセル (UI の範囲の塗りつぶしハンドルをダブルクリックしたときの動作) に基づいてデータが入力されます。
- autoFillType
- ExcelScript.AutoFillType
オートフィルの種類。 現在の範囲の内容に基づいて、変換先の範囲を入力する方法を指定します。 既定値は "FillDefault" です。
戻り値
void
例
/**
* This script uses the autofill feature to complete a table.
* See https://support.microsoft.com/office/74e31bdd-d993-45da-aa82-35a236c5b5db
* for examples of autofill scenarios.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the current, active worksheet.
let currentWorksheet = workbook.getActiveWorksheet();
// Get the data range that shows the pattern.
let dataRange = currentWorksheet.getRange("C2:C3");
// Autofill the connected range. C2:C3 are filled in. C4:C14 are blank.
// This uses the default behavior to match a pattern with the table's contents.
dataRange.autoFill("C2:C14");
}
calculate()
ワークシート上のセルの範囲を計算します。
calculate(): void;
戻り値
void
例
/**
* This script recalculates the used range of a specific worksheet.
*/
function main(workbook: ExcelScript.Workbook) {
// Only recalculate if the calculation mode is not set to automatic.
if (workbook.getApplication().getCalculationMode() !== ExcelScript.CalculationMode.automatic) {
// Get the used range from a worksheet named "Monthly Report".
const sheet = workbook.getWorksheet("Monthly Report");
const range = sheet.getUsedRange();
console.log(`Calculating ${range.getAddress()}`);
// Force all the used cells in that worksheet to calculate.
sheet.getUsedRange().calculate();
}
}
clear(applyTo)
範囲の値、書式、塗りつぶし、罫線などをクリアします。
clear(applyTo?: ClearApplyTo): void;
パラメーター
- applyTo
- ExcelScript.ClearApplyTo
省略可能。 クリア操作の種類を決定します。 詳細は「ExcelScript.ClearApplyTo
」をご覧ください。
戻り値
void
例
/**
* This script removes all the formatting from the selected range.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the selected range.
let range = workbook.getSelectedRange();
// Clear all the formatting in that range.
range.clear(ExcelScript.ClearApplyTo.formats);
}
clearAllConditionalFormats()
現在指定している範囲でアクティブなすべての条件付き書式をクリアする。
clearAllConditionalFormats(): void;
戻り値
void
convertDataTypeToText()
データ型を持つ範囲セルをテキストに変換します。
convertDataTypeToText(): void;
戻り値
void
copyFrom(sourceRange, copyType, skipBlanks, transpose)
セル データまたは書式設定をソース範囲または RangeAreas
から現在の範囲にコピーします。 変換先の範囲は、ソース範囲または RangeAreas
とは異なるサイズにすることができます。 変換先がソースより小さい場合は、自動的に展開されます。 注: Excel UI のコピー機能と同様に、コピー先の範囲が行または列のソース範囲を超える正確な倍数である場合、ソース コンテンツは複数回レプリケートされます。 たとえば、2x2 範囲を 2x6 範囲にコピーすると、元の 2x2 範囲のコピーが 3 つになります。
copyFrom(
sourceRange: Range | RangeAreas | string,
copyType?: RangeCopyType,
skipBlanks?: boolean,
transpose?: boolean
): void;
パラメーター
- sourceRange
-
ExcelScript.Range | ExcelScript.RangeAreas | string
コピー元の範囲またはコピー元の RangeAreas
。 ソース RangeAreas
に複数の範囲がある場合は、四角形の範囲から完全な行または列を削除してフォームを作成できる必要があります。
- copyType
- ExcelScript.RangeCopyType
コピーするセル データまたは書式設定の種類。 既定値は "All" です。
- skipBlanks
-
boolean
True を指定すると、ソース範囲の空白セルがスキップされます。 既定値は false です。
- transpose
-
boolean
True の場合は、変換先の範囲内のセルを置き換えます。 既定値は false です。
戻り値
void
例
/**
* This script copies a table from one worksheet to a new worksheet.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the worksheet named "TableTemplate".
let base = workbook.getWorksheet("TableTemplate");
// Get the range to be copied based on the first table.
let tableRange = base.getTables()[0].getRange();
// Get the area in a new worksheet for the new table.
let newWorksheet = workbook.addWorksheet();
let newRange = newWorksheet.getRangeByIndexes(0,0, tableRange.getRowCount(), tableRange.getColumnCount());
// Copy the existing data into the new range.
newRange.copyFrom(tableRange);
}
delete(shift)
範囲に関連付けられているセルを削除します。
delete(shift: DeleteShiftDirection): void;
パラメーター
セルをシフトする方向を指定します。 詳細は「ExcelScript.DeleteShiftDirection
」をご覧ください。
戻り値
void
例
/**
* This sample creates a sample range, then deletes
* "A1" using different DeleteShiftDirection values.
*/
function main(workbook: ExcelScript.Workbook) {
// Add sample data to better visualize the delete changes.
const currentSheet = workbook.getActiveWorksheet();
currentSheet.getRange("A1:D4").setValues([
[1,2,3,4],
[5,6,7,8],
[9,10,11,12],
[13,14,15,16]]);
// Delete A1 and shift the cells from the right to fill the space.
// The value being deleted is 1.
currentSheet.getRange("A1").delete(ExcelScript.DeleteShiftDirection.left);
// Delete A1 and shift the cells from the bottom to fill the space.
// The value being deleted is 2.
currentSheet.getRange("A1").delete(ExcelScript.DeleteShiftDirection.up);
// Log the sample range. The values should be:
/*
5, 3, 4, "",
9, 6, 7, 8,
13, 10, 11, 12,
"", 14, 15, 16
*/
console.log(currentSheet.getRange("A1:D4").getValues());
}
find(text, criteria)
指定された条件に基づいて指定された文字列を見つけます。 現在の範囲が 1 つのセルより大きい場合、検索はその範囲に制限されます。それ以外の場合、検索はそのセルの後から始まるシート全体をカバーします。 一致しない場合、このメソッドは undefined
を返します。
find(text: string, criteria: SearchCriteria): Range;
パラメーター
- text
-
string
検索する文字列。
- criteria
- ExcelScript.SearchCriteria
検索の方向や、検索がセル全体と一致する必要があるか、大文字と小文字が区別されるかなど、追加の検索条件。
戻り値
例
/**
* This script searches through a table column and finds cells marked "no change".
* Those cells have "no change" replaced with the value from the cell to the left.
* This script uses Range.find instead of Worksheet.findAll
* to limit the search to a specific range.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the range of a table named "Orders".
let table = workbook.getTable("Orders");
let range = table.getColumnByName("March").getRange();
// Find all cells with the value "no change".
let cellToOverwrite = range.find("no change", { completeMatch: true });
while (cellToOverwrite) {
let cellToCopyFrom = cellToOverwrite.getOffsetRange(0,-1);
cellToOverwrite.setValue(cellToCopyFrom.getValue());
cellToOverwrite = range.find("no change", { completeMatch: true });
}
}
flashFill()
現在の範囲にフラッシュフィルを実行します。 パターンを検出すると、フラッシュ フィルによってデータが自動的に塗りつぶされるため、パターンを見つけるには、範囲が 1 つの列範囲で、周囲にデータが含まれている必要があります。
flashFill(): void;
戻り値
void
例
/**
* This script uses the Flash Fill feature to complete a table.
* See https://support.microsoft.com/office/3f9bcf1e-db93-4890-94a0-1578341f73f7
* for the example table.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the current, active worksheet.
let currentWorksheet = workbook.getActiveWorksheet();
// Get the data range with a pattern and cells to fill. C2 is filled in. C3:C6 are blank.
let dataRange = currentWorksheet.getRange("C2:C6");
// Flash fill the connected range.
dataRange.flashFill();
}
getAbsoluteResizedRange(numRows, numColumns)
現在のRange
オブジェクトと同じ左上のセルを持ち、指定した行数と列数を持つRange
オブジェクトを取得します。
getAbsoluteResizedRange(numRows: number, numColumns: number): Range;
パラメーター
- numRows
-
number
新しい範囲サイズの行数。
- numColumns
-
number
新しい範囲サイズの列数。
戻り値
getAddress()
範囲参照を A1 スタイルで指定します。 アドレス値にはシート参照が含まれます (例: "Sheet1!A1:B4")。
getAddress(): string;
戻り値
string
例
/**
* This script logs the address of the used range in each worksheet.
*/
function main(workbook: ExcelScript.Workbook) {
// Iterate over every worksheet in the workbook.
workbook.getWorksheets().forEach((sheet) => {
// Get the used range for a single worksheet.
let range = sheet.getUsedRange();
// Print the address of the used range to the console.
console.log(range.getAddress());
});
}
getAddressLocal()
ユーザーの言語で指定した範囲の範囲参照を表します。
getAddressLocal(): string;
戻り値
string
getBoundingRect(anotherRange)
指定した範囲を包含する、最小の Range オブジェクトを取得します。 たとえば、"B2:C5" と "D10:E15" の GetBoundingRect
は "B2:E15" です。
getBoundingRect(anotherRange: Range | string): Range;
パラメーター
- anotherRange
-
ExcelScript.Range | string
範囲オブジェクト、アドレス、または範囲名。
戻り値
例
/**
* This script gets the bounding range of two existing ranges and puts a border around it.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the current worksheet.
let sheet = workbook.getActiveWorksheet();
// Create two range objects for the sample.
let range1 = sheet.getRange("B2:C5");
let range2 = sheet.getRange("D10:E15");
// Get the rectangular range that fully includes both ranges.
let boundingRectangle = range1.getBoundingRect(range2);
// Add a border around the whole bounding range (B2:E15).
let format = boundingRectangle.getFormat();
format.getRangeBorder(ExcelScript.BorderIndex.edgeTop).setStyle(ExcelScript.BorderLineStyle.continuous); // Top border
format.getRangeBorder(ExcelScript.BorderIndex.edgeBottom).setStyle(ExcelScript.BorderLineStyle.continuous); // Bottom border
format.getRangeBorder(ExcelScript.BorderIndex.edgeLeft).setStyle(ExcelScript.BorderLineStyle.continuous); // Left border
format.getRangeBorder(ExcelScript.BorderIndex.edgeRight).setStyle(ExcelScript.BorderLineStyle.continuous); // Right border
}
getCell(row, column)
行と列の番号に基づいて、1 つのセルを含んだ範囲オブジェクトを取得します。 セルは、ワークシートのグリッド内に留まる限り、親範囲の範囲外にすることができます。 返されるセルは、範囲の左上のセルを基準に配置されます。
getCell(row: number, column: number): Range;
パラメーター
- row
-
number
取得するセルの行番号。 0 を起点とする番号になります。
- column
-
number
取得セルの列番号。 0 を起点とする番号になります。
戻り値
getCellCount()
範囲内のセルの数を指定します。 セルの数が 2^31-1 (2,147,483,647) を超えると、この API は -1 を返します。
getCellCount(): number;
戻り値
number
getColumn(column)
範囲に含まれる列を 1 つ取得します。
getColumn(column: number): Range;
パラメーター
- column
-
number
取得する範囲の列番号。 0 を起点とする番号になります。
戻り値
getColumnCount()
範囲内の列の合計数を指定します。
getColumnCount(): number;
戻り値
number
例
/**
* This sample provides the count of negative numbers that are present
* in the used range of the current worksheet.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the working range.
let usedRange = workbook.getActiveWorksheet().getUsedRange();
let rowCount = usedRange.getRowCount();
let columnCount = usedRange.getColumnCount();
// Save the values locally to avoid repeatedly asking the workbook.
let usedRangeValues = usedRange.getValues();
// Start the negative number counter.
let negativeCount = 0;
// Iterate over the entire range looking for negative numbers.
for (let i = 0; i < rowCount; i++) {
for (let j = 0; j < columnCount; j++) {
if (usedRangeValues[i][j] < 0) {
negativeCount++;
}
}
}
// Log the negative number count to the console.
console.log(negativeCount);
}
getColumnHidden()
現在の範囲内のすべての列が非表示の場合にを表します。 値は、範囲内のすべての列が非表示の場合に true
されます。 値は、範囲内の列が非表示でない場合に false
されます。 値は、範囲内の一部の列が非表示で、同じ範囲内の他の列が非表示でない場合に null
されます。
getColumnHidden(): boolean;
戻り値
boolean
getColumnIndex()
範囲内の最初のセルの列番号を指定します。 0 を起点とする番号になります。
getColumnIndex(): number;
戻り値
number
getColumnsAfter(count)
現在の Range
オブジェクトの右側にある特定の数の列を取得します。
getColumnsAfter(count?: number): Range;
パラメーター
- count
-
number
省略可能。 結果の範囲に含める列の数です。 通常、正の数値を使用して現在の範囲外に範囲を作成します。 負の数値を使用して、現在の範囲内に範囲を作成することもできます。 既定値は 1 です。
戻り値
getColumnsBefore(count)
現在の Range
オブジェクトの左側にある特定の数の列を取得します。
getColumnsBefore(count?: number): Range;
パラメーター
- count
-
number
省略可能。 結果の範囲に含める列の数です。 通常、正の数値を使用して現在の範囲外に範囲を作成します。 負の数値を使用して、現在の範囲内に範囲を作成することもできます。 既定値は 1 です。
戻り値
getConditionalFormat(id)
ID で識別される条件付き形式を返します。 条件付き書式オブジェクトが存在しない場合、このメソッドは undefined
を返します。
getConditionalFormat(id: string): ConditionalFormat | undefined;
パラメーター
- id
-
string
条件付き書式の ID。
戻り値
ExcelScript.ConditionalFormat | undefined
getConditionalFormats()
範囲と交差する ConditionalFormats
のコレクション。
getConditionalFormats(): ConditionalFormat[];
戻り値
getDataValidation()
dataValidation オブジェクトを返します。
getDataValidation(): DataValidation;
戻り値
例
/**
* This script creates a drop-down selection list for a cell. It uses the existing values of the selected range as the choices for the list.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the values for data validation.
let selectedRange = workbook.getSelectedRange();
let rangeValues = selectedRange.getValues();
// Convert the values into a comma-delimited string.
let dataValidationListString = "";
rangeValues.forEach((rangeValueRow) => {
rangeValueRow.forEach((value) => {
dataValidationListString += value + ",";
});
});
// Clear the old range.
selectedRange.clear(ExcelScript.ClearApplyTo.contents);
// Apply the data validation to the first cell in the selected range.
let targetCell = selectedRange.getCell(0,0);
let dataValidation = targetCell.getDataValidation();
// Set the content of the drop-down list.
dataValidation.setRule({
list: {
inCellDropDown: true,
source: dataValidationListString
}
});
}
getDirectPrecedents()
同じワークシート内または複数のワークシートで、指定した範囲のすべての直接の優先順位セルを含む範囲を表す WorkbookRangeAreas
オブジェクトを返します。
getDirectPrecedents(): WorkbookRangeAreas;
戻り値
例
/**
* This script finds the direct precedents of the active cell.
* It changes the font and color of those precedent cells.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the active cell.
const selected = workbook.getActiveCell();
// Get the cells that are direct precedents of the current cell.
const precedents : ExcelScript.WorkbookRangeAreas = selected.getDirectPrecedents();
// Set the font to bold and the fill color to orange for all the precedent cells.
precedents.getRanges().forEach(range => {
range.getFormat().getFill().setColor("orange");
range.getFormat().getFont().setBold(true);
});
}
getEntireColumn()
範囲の列全体を表すオブジェクトを取得します (たとえば、現在の範囲がセル "B4:E11" を表す場合、その getEntireColumn
は列 "B:E" を表す範囲です)。
getEntireColumn(): Range;
戻り値
getEntireRow()
範囲の行全体を表すオブジェクトを取得します (たとえば、現在の範囲がセル "B4:E11" を表している場合、その GetEntireRow
は行 "4:11" を表す範囲です)。
getEntireRow(): Range;
戻り値
getExtendedRange(direction, activeCell)
指定した方向に基づいて、現在の範囲と範囲の端までの範囲オブジェクトを返します。 これは、Windows UI 上の Excel の Ctrl + Shift + 方向キーの動作と一致します。
getExtendedRange(
direction: KeyboardDirection,
activeCell?: Range | string
): Range;
パラメーター
- direction
- ExcelScript.KeyboardDirection
アクティブなセルからの方向。
- activeCell
-
ExcelScript.Range | string
この範囲内のアクティブなセル。 既定では、アクティブなセルは範囲の左上のセルです。 アクティブなセルがこの範囲にない場合は、エラーがスローされます。
戻り値
例
/**
* This script makes the font bold on all the contiguous cells between
* A1 and the bottom of the used range of the first column.
*/
function main(workbook: ExcelScript.Workbook)
{
// Get the current worksheet.
let selectedSheet = workbook.getActiveWorksheet();
// Get every cell that's used between A1 and the end of the column.
// This recreates the Ctrl+Shift+Down arrow key behavior.
let firstCell = selectedSheet.getRange("A1");
let firstColumn = firstCell.getExtendedRange(ExcelScript.KeyboardDirection.down);
// Set the font to bold in that range.
firstColumn.getFormat().getFont().setBold(true);
}
getFormat()
Format オブジェクト (範囲のフォント、塗りつぶし、罫線、配置などのプロパティをカプセル化するオブジェクト) を返します。
getFormat(): RangeFormat;
戻り値
例
/**
* This script gives the total row of a table a green color fill.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the first table in the workbook.
let table = workbook.getTables()[0];
// Get the range for the total row of the table.
let totalRange = table.getTotalRowRange();
// Set the fill color to green.
totalRange.getFormat().getFill().setColor("green");
}
getFormula()
セルの数式を A1 スタイルの表記で表します。 範囲に複数のセルが含まれている場合は、最初のセルのデータ (行インデックスが 0、列インデックスが 0 で表されます) が返されます。
getFormula(): string;
戻り値
string
例
/*
* This script sets a cell's formula,
* then displays how Excel stores the cell's formula and value separately.
*/
function main(workbook: ExcelScript.Workbook) {
let selectedSheet = workbook.getActiveWorksheet();
// Set A1 to 2.
let a1 = selectedSheet.getRange("A1");
a1.setValue(2);
// Set B1 to the formula =(2*A1), which should equal 4.
let b1 = selectedSheet.getRange("B1")
b1.setFormula("=(2*A1)");
// Log the current results for `getFormula` and `getValue` at B1.
console.log(`B1 - Formula: ${b1.getFormula()} | Value: ${b1.getValue()}`);
}
getFormulaLocal()
ユーザーの言語と数値書式のロケールで、セルの数式を A1 スタイル表記で表します。 たとえば、英語の数式 "=SUM(A1, 1.5)" は、ドイツ語では "=SUMME(A1; 1,5)" になります。 範囲に複数のセルが含まれている場合は、最初のセルのデータ (行インデックスが 0、列インデックスが 0 で表されます) が返されます。
getFormulaLocal(): string;
戻り値
string
getFormulaR1C1()
セルの数式を R1C1 スタイルの表記で表します。 範囲に複数のセルが含まれている場合は、最初のセルのデータ (行インデックスが 0、列インデックスが 0 で表されます) が返されます。
getFormulaR1C1(): string;
戻り値
string
getFormulas()
A1 スタイル表記の数式を表します。 セルに数式がない場合は、代わりに値が返されます。
getFormulas(): string[][];
戻り値
string[][]
getFormulasLocal()
ユーザーの言語と数値書式ロケールで、A1 スタイル表記の数式を表します。 たとえば、英語の数式 "=SUM(A1, 1.5)" は、ドイツ語では "=SUMME(A1; 1,5)" になります。 セルに数式がない場合は、代わりに値が返されます。
getFormulasLocal(): string[][];
戻り値
string[][]
getFormulasR1C1()
R1C1 スタイル表記の数式を表します。 セルに数式がない場合は、代わりに値が返されます。
getFormulasR1C1(): string[][];
戻り値
string[][]
getHasSpill()
すべてのセルにスピル ボーダーがあるかどうかを表します。 すべてのセルにスピル罫線がある場合は true
を返し、すべてのセルにスピル罫線がない場合は false
を返します。 範囲内にスピル境界があるセルとスピル境界のないセルがある場合は、 null
を返します。
getHasSpill(): boolean;
戻り値
boolean
getHeight()
範囲の上端から範囲の下端までの 100% ズームの距離をポイント単位で返します。
getHeight(): number;
戻り値
number
getHidden()
現在の範囲内のすべてのセルが非表示かどうかを表します。 値は、範囲内のすべてのセルが非表示の場合に true
されます。 値は、範囲内のセルが非表示でない場合に false
されます。 値は、範囲内の一部のセルが非表示で、同じ範囲内の他のセルが非表示でない場合に null
されます。
getHidden(): boolean;
戻り値
boolean
getHyperlink()
現在の範囲のハイパーリンクを表します。
getHyperlink(): RangeHyperlink;
戻り値
例
/**
* This sample clears all of the hyperlinks from the current worksheet
* and removes the usual hyperlink formatting.
*/
function main(workbook: ExcelScript.Workbook, sheetName: string = 'Sheet1') {
// Get the active worksheet.
let sheet = workbook.getWorksheet(sheetName);
// Get the used range to operate on.
// For large ranges (over 10000 entries), consider splitting the operation into batches for performance.
const targetRange = sheet.getUsedRange(true);
console.log(`Target Range to clear hyperlinks from: ${targetRange.getAddress()}`);
const rowCount = targetRange.getRowCount();
const colCount = targetRange.getColumnCount();
console.log(`Searching for hyperlinks in ${targetRange.getAddress()} which contains ${(rowCount * colCount)} cells`);
// Go through each individual cell looking for a hyperlink.
// This allows us to limit the formatting changes to only the cells with hyperlink formatting.
let clearedCount = 0;
for (let i = 0; i < rowCount; i++) {
for (let j = 0; j < colCount; j++) {
const cell = targetRange.getCell(i, j);
const hyperlink = cell.getHyperlink();
if (hyperlink) {
cell.clear(ExcelScript.ClearApplyTo.hyperlinks);
cell.getFormat().getFont().setUnderline(ExcelScript.RangeUnderlineStyle.none);
cell.getFormat().getFont().setColor('Black');
clearedCount++;
}
}
}
console.log(`Done. Cleared hyperlinks from ${clearedCount} cells`);
}
getImage()
範囲を base64 でエンコードされた png イメージとしてレンダリングします。
getImage(): string;
戻り値
string
getIntersection(anotherRange)
指定した範囲の長方形の交差を表す範囲オブジェクトを取得します。 積集合が見つからない場合、このメソッドは undefined
を返します。
getIntersection(anotherRange: Range | string): Range;
パラメーター
- anotherRange
-
ExcelScript.Range | string
範囲の交差を判断するために使用される、Range オブジェクトまたは Range アドレス。
戻り値
getIsEntireColumn()
現在の範囲が列全体であるかどうかを表します。
getIsEntireColumn(): boolean;
戻り値
boolean
getIsEntireRow()
現在の範囲が行全体であるかどうかを表します。
getIsEntireRow(): boolean;
戻り値
boolean
getLastCell()
getLastColumn()
getLastRow()
getLeft()
ワークシートの左端から範囲の左端までの 100% ズームの距離をポイント単位で返します。
getLeft(): number;
戻り値
number
getLinkedDataTypeState()
getLinkedDataTypeStates()
各セルのデータ型の状態を表します。
getLinkedDataTypeStates(): LinkedDataTypeState[][];
戻り値
getMergedAreas()
この範囲内のマージされた領域を表す RangeAreas
オブジェクトを返します。 この範囲内のマージされた領域数が 512 を超える場合、このメソッドは結果を返すのに失敗します。
RangeAreas
オブジェクトが存在しない場合、この関数はundefined
を返します。
getMergedAreas(): RangeAreas;
戻り値
getNumberFormat()
指定した範囲のセル Excel の数値書式コードを表します。 範囲に複数のセルが含まれている場合は、最初のセルのデータ (行インデックスが 0、列インデックスが 0 で表されます) が返されます。
getNumberFormat(): string;
戻り値
string
getNumberFormatCategories()
各セルの数値形式のカテゴリを表します。
getNumberFormatCategories(): NumberFormatCategory[][];
戻り値
例
/**
* This script finds cells in a table column that are not formatted as currency
* and sets the fill color to red.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the "Cost" column from the "Expenses" table.
const table = workbook.getTable("Expenses");
const costColumn = table.getColumnByName("Cost");
const costColumnRange = costColumn.getRangeBetweenHeaderAndTotal();
// Get the number format categories for the column's range.
const numberFormatCategories = costColumnRange.getNumberFormatCategories();
// If any cell in the column doesn't have a currency format, make the cell red.
numberFormatCategories.forEach((category, index) =>{
if (category[0] != ExcelScript.NumberFormatCategory.currency) {
costColumnRange.getCell(index, 0).getFormat().getFill().setColor("red");
}
});
}
getNumberFormatCategory()
範囲内の最初のセルの数値形式カテゴリを指定します (行インデックスは 0、列インデックスは 0 で表されます)。
getNumberFormatCategory(): NumberFormatCategory;
戻り値
getNumberFormatLocal()
ユーザーの言語設定に基づいて、指定した範囲のセル Excel の数値書式コードを表します。excel では、 numberFormatLocal
プロパティを取得または設定するときに、言語や書式の強制は実行されません。 返されるテキストは、システム設定で指定された言語に基づいて、ローカル形式の文字列を使用します。 範囲に複数のセルが含まれている場合は、最初のセルのデータ (行インデックスが 0、列インデックスが 0 で表されます) が返されます。
getNumberFormatLocal(): string;
戻り値
string
getNumberFormats()
指定した範囲の Excel の数値書式コードを表します。
getNumberFormats(): string[][];
戻り値
string[][]
getNumberFormatsLocal()
ユーザーの言語設定に基づいて、指定した範囲の Excel の数値書式コードを表します。 excel では、 numberFormatLocal
プロパティを取得または設定するときに、言語や書式の強制は実行されません。 返されるテキストは、システム設定で指定された言語に基づいて、ローカル形式の文字列を使用します。
getNumberFormatsLocal(): string[][];
戻り値
string[][]
getOffsetRange(rowOffset, columnOffset)
指定した範囲からのオフセットで範囲を表すオブジェクトを取得します。 返される範囲のディメンションは、この範囲と一致します。 結果の範囲がワークシートのグリッドの境界線の外にはみ出る場合は、エラーがスローされます。
getOffsetRange(rowOffset: number, columnOffset: number): Range;
パラメーター
- rowOffset
-
number
範囲をオフセットする行数 (正、負、または 0)。 正の値は下方向、負の値は上方向のオフセットを表します。
- columnOffset
-
number
範囲をオフセットする列の数 (正、負、または 0)。 正の値は右方向、負の値は左方向のオフセットを表します。
戻り値
例
/**
* This script gets adjacent cells using relative references.
* Note that if the active cell is on the top row, part of the script fails,
* because it references the cell above the currently selected one.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the currently active cell in the workbook.
let activeCell = workbook.getActiveCell();
console.log(`The active cell's address is: ${activeCell.getAddress()}`);
// Get the cell to the right of the active cell and set its value and color.
let rightCell = activeCell.getOffsetRange(0,1);
rightCell.setValue("Right cell");
console.log(`The right cell's address is: ${rightCell.getAddress()}`);
rightCell.getFormat().getFont().setColor("Magenta");
rightCell.getFormat().getFill().setColor("Cyan");
// Get the cell to the above of the active cell and set its value and color.
// Note that this operation will fail if the active cell is in the top row.
let aboveCell = activeCell.getOffsetRange(-1, 0);
aboveCell.setValue("Above cell");
console.log(`The above cell's address is: ${aboveCell.getAddress()}`);
aboveCell.getFormat().getFont().setColor("White");
aboveCell.getFormat().getFill().setColor("Black");
}
getPivotTables(fullyContained)
範囲と重複するピボットテーブルのスコープ付きコレクションを取得します。
getPivotTables(fullyContained?: boolean): PivotTable[];
パラメーター
- fullyContained
-
boolean
true
場合は、範囲内に完全に含まれるピボットテーブルのみを返します。 既定値は false
です。
戻り値
getPredefinedCellStyle()
現在の範囲のスタイルを表します。 セルのスタイルに一貫性がない場合は、 null
が返されます。 カスタム スタイルの場合、スタイル名が返されます。 組み込みのスタイルの場合、 BuiltInStyle
列挙型の値を表す文字列が返されます。
getPredefinedCellStyle(): string;
戻り値
string
getRangeEdge(direction, activeCell)
指定した方向に対応するデータ領域のエッジ セルである range オブジェクトを返します。 これは、Windows UI 上の Excel の Ctrl + 方向キーの動作と一致します。
getRangeEdge(
direction: KeyboardDirection,
activeCell?: Range | string
): Range;
パラメーター
- direction
- ExcelScript.KeyboardDirection
アクティブなセルからの方向。
- activeCell
-
ExcelScript.Range | string
この範囲内のアクティブなセル。 既定では、アクティブなセルは範囲の左上のセルです。 アクティブなセルがこの範囲にない場合は、エラーがスローされます。
戻り値
例
/**
* This script adds the value "Total" after the end of the first column.
*/
function main(workbook: ExcelScript.Workbook)
{
// Get the current worksheet.
let selectedSheet = workbook.getActiveWorksheet();
// Get the last used cell at the end of the column.
// This recreates the Ctrl+Down arrow key behavior.
let firstCell = selectedSheet.getRange("A1");
let firstColumn = selectedSheet.getRange("A1").getRangeEdge(ExcelScript.KeyboardDirection.down);
let cellAfter = firstColumn.getOffsetRange(1, 0);
// Set the value of the cell after the current end of the used column to "Total".
cellAfter.setValue("Total");
}
getResizedRange(deltaRows, deltaColumns)
現在のRange
オブジェクトに似たRange
オブジェクトを取得しますが、右下隅を一部の行と列で展開 (または縮小) します。
getResizedRange(deltaRows: number, deltaColumns: number): Range;
パラメーター
- deltaRows
-
number
現在の範囲を基準にして、右下隅を拡張する行の数です。 範囲を拡張するには正の数値、または範囲を縮小するには負の数値を使用します。
- deltaColumns
-
number
現在の範囲を基準にして右下隅を展開する列の数。 範囲を拡張するには正の数値、または範囲を縮小するには負の数値を使用します。
戻り値
例
/**
* This script copies the formatting in the active cell to the neighboring cells.
* Note that this script only works when the active cell isn't on an edge of the worksheet.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the active cell.
let activeCell = workbook.getActiveCell();
// Get the cell that's one row above and one column to the left of the active cell.
let cornerCell = activeCell.getOffsetRange(-1,-1);
// Get a range that includes all the cells surrounding the active cell.
let surroundingRange = cornerCell.getResizedRange(2, 2)
// Copy the formatting from the active cell to the new range.
surroundingRange.copyFrom(
activeCell, /* The source range. */
ExcelScript.RangeCopyType.formats /* What to copy. */
);
}
getRow(row)
範囲に含まれている行を 1 つ取得します。
getRow(row: number): Range;
パラメーター
- row
-
number
取得する範囲の行番号。 0 を起点とする番号になります。
戻り値
getRowCount()
範囲に含まれる行の合計数を返します。
getRowCount(): number;
戻り値
number
例
/**
* This sample provides the count of negative numbers that are present
* in the used range of the current worksheet.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the working range.
let usedRange = workbook.getActiveWorksheet().getUsedRange();
let rowCount = usedRange.getRowCount();
let columnCount = usedRange.getColumnCount();
// Save the values locally to avoid repeatedly asking the workbook.
let usedRangeValues = usedRange.getValues();
// Start the negative number counter.
let negativeCount = 0;
// Iterate over the entire range looking for negative numbers.
for (let i = 0; i < rowCount; i++) {
for (let j = 0; j < columnCount; j++) {
if (usedRangeValues[i][j] < 0) {
negativeCount++;
}
}
}
// Log the negative number count to the console.
console.log(negativeCount);
}
getRowHidden()
現在の範囲内のすべての行が非表示になっているかどうかを表します。 値は、範囲内のすべての行が非表示の場合に true
されます。 値は、範囲内の行が非表示でない場合に false
されます。 値は、範囲内の一部の行が非表示で、同じ範囲内の他の行が非表示でない場合に null
されます。
getRowHidden(): boolean;
戻り値
boolean
getRowIndex()
範囲に含まれる最初のセルの行番号を返します。 0 を起点とする番号になります。
getRowIndex(): number;
戻り値
number
getRowsAbove(count)
現在の Range
オブジェクトの上にある特定の数の行を取得します。
getRowsAbove(count?: number): Range;
パラメーター
- count
-
number
省略可能。 結果の範囲に含める行の数です。 通常、正の数値を使用して現在の範囲外に範囲を作成します。 負の数値を使用して、現在の範囲内に範囲を作成することもできます。 既定値は 1 です。
戻り値
getRowsBelow(count)
現在の Range
オブジェクトの下にある特定の数の行を取得します。
getRowsBelow(count?: number): Range;
パラメーター
- count
-
number
省略可能。 結果の範囲に含める行の数です。 通常、正の数値を使用して現在の範囲外に範囲を作成します。 負の数値を使用して、現在の範囲内に範囲を作成することもできます。 既定値は 1 です。
戻り値
getSavedAsArray()
すべてのセルを配列数式として保存するかどうかを表します。 すべてのセルを配列数式として保存する場合は true
、すべてのセルを配列数式として保存しない場合は false
を返します。 一部のセルが配列数式として保存され、一部のセルが保存されない場合は、 null
を返します。
getSavedAsArray(): boolean;
戻り値
boolean
getSort()
getSpecialCells(cellType, cellValueType)
指定した型と値に一致するすべてのセルを表す 1 つ以上の範囲を含む、 RangeAreas
オブジェクトを取得します。 特殊なセルが見つからない場合、このメソッドは undefined
を返します。
getSpecialCells(
cellType: SpecialCellType,
cellValueType?: SpecialCellValueType
): RangeAreas;
パラメーター
- cellType
- ExcelScript.SpecialCellType
含めるセルの種類。
- cellValueType
- ExcelScript.SpecialCellValueType
cellType
がconstants
またはformulas
の場合、この引数を使用して、結果に含めるセルの種類を決定します。 これらの値を組み合わせて、複数の型を返すことができます。 この引数を省略すると、すべての定数および数式が対象になります。
戻り値
例
/**
* This sample gets all the blank cells in the current worksheet's used range. It then highlights all those cells with a yellow background.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the current used range.
let range = workbook.getActiveWorksheet().getUsedRange();
// Get all the blank cells.
let blankCells = range.getSpecialCells(ExcelScript.SpecialCellType.blanks);
// Highlight the blank cells with a yellow background.
blankCells.getFormat().getFill().setColor("yellow");
}
getSpillingToRange()
アンカー セルで呼び出されたとき、スピル範囲を含む範囲オブジェクトを取得します。 範囲がアンカー セルではない場合、またはスピル範囲が見つからない場合、このメソッドは undefined
を返します。
getSpillingToRange(): Range;
戻り値
getSpillParent()
セルがスピルされるアンカー セルを含む range オブジェクトを取得します。 スピルされたセルではない場合、または複数のセルが指定されている場合、このメソッドは undefined
を返します。
getSpillParent(): Range;
戻り値
getSurroundingRegion()
この範囲内の左上のセルの周囲の領域を表す Range
オブジェクトを返します。 周囲の領域は、この範囲に相対の空白の行と空白の列の任意の組み合わせで囲まれた範囲です。
getSurroundingRegion(): Range;
戻り値
getTables(fullyContained)
範囲と重なるテーブルの集まりを範囲限定で取得します。
getTables(fullyContained?: boolean): Table[];
パラメーター
- fullyContained
-
boolean
true
場合は、範囲内に完全に含まれるテーブルのみを返します。 既定値は false
です。
戻り値
getText()
指定した範囲の Text 値を表します。 テキスト値は、セルの幅には依存しません。 Excel UI で発生する # 記号による置換は、この API から返されるテキスト値には影響しません。 範囲に複数のセルが含まれている場合は、最初のセルのデータ (行インデックスが 0、列インデックスが 0 で表されます) が返されます。
getText(): string;
戻り値
string
getTexts()
指定した範囲のテキスト値。 テキスト値は、セルの幅には依存しません。 Excel UI で発生する数値記号 (#) の置換は、API によって返されるテキスト値には影響しません。
getTexts(): string[][];
戻り値
string[][]
getTop()
ワークシートの上端から範囲の上端までの 100% ズームの距離をポイント単位で返します。
getTop(): number;
戻り値
number
getUsedRange(valuesOnly)
指定した範囲オブジェクトのうち使用されている範囲を返します。 範囲内に使用されているセルがない場合、このメソッドは undefined
を返します。
getUsedRange(valuesOnly?: boolean): Range;
パラメーター
- valuesOnly
-
boolean
値の入っているセルのみを使用セルと見なします。
戻り値
getValue()
指定した範囲の生の値を表します。 返されるデータの型は、文字列、数値、ブール値のいずれかになります。 エラーが含まれているセルは、エラー文字列を返します。 範囲に複数のセルが含まれている場合は、最初のセルのデータ (行インデックスが 0、列インデックスが 0 で表されます) が返されます。
getValue(): string | number | boolean;
戻り値
string | number | boolean
例
/**
* This sample reads the value of A1 and prints it to the console.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the current worksheet.
let selectedSheet = workbook.getActiveWorksheet();
// Get the value of cell A1.
let range = selectedSheet.getRange("A1");
// Print the value of A1.
console.log(range.getValue());
}
getValues()
指定した範囲の Raw 値を表します。 返されるデータは、文字列、数値、またはブール値のいずれかです。 エラーが含まれているセルは、エラー文字列を返します。 返される値が正符号 ("+")、マイナス ("-")、または等号 ("=") で始まる場合、Excel はこの値を数式として解釈します。
getValues(): (string | number | boolean)[][];
戻り値
(string | number | boolean)[][]
getValueType()
セル内のデータの種類を表します。 範囲に複数のセルが含まれている場合は、最初のセルのデータ (行インデックスが 0、列インデックスが 0 で表されます) が返されます。
getValueType(): RangeValueType;
戻り値
例
/**
* This script formats rows in a worksheet based on the first value in that row.
* If it's the boolean value TRUE, the row is bolded.
* If it's FALSE, nothing is changed.
* If the value type isn't a boolean, the row is italicized.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the used range in the active worksheet.
const sheet = workbook.getActiveWorksheet();
const usedRange = sheet.getUsedRange();
// Get the values in the first column.
const firstColumnValues = usedRange.getColumn(0).getValues();
// Look at the first cell in each row.
const rowCount = usedRange.getRowCount();
for (let i = 0; i < rowCount; i++) {
// Get the type of the first cell to make sure it's a boolean.
let firstValueType = usedRange.getCell(i, 0).getValueType();
// Set the bold or italic of the row as described earlier.
if (firstValueType === ExcelScript.RangeValueType.boolean) {
if (firstColumnValues[i][0] as boolean === true) {
usedRange.getRow(i).getFormat().getFont().setBold(true);
} else {
usedRange.getRow(i).getFormat().getFont().setBold(false);
}
} else {
usedRange.getRow(i).getFormat().getFont().setItalic(true);
}
}
}
getValueTypes()
getVisibleView()
現在の範囲の表示されている行を表します。
getVisibleView(): RangeView;
戻り値
例
/**
* This script copies values and formatting from the
* visible range of a table in Sheet1 into Sheet2.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the filtered data from Sheet1.
const currentSheet = workbook.getWorksheet("Sheet1");
const table = currentSheet.getTables()[0];
const visibleTableRange: ExcelScript.RangeView = table.getRange().getVisibleView();
const source = currentSheet.getRanges(visibleTableRange.getCellAddresses().toString());
// Copy the data into the other sheet.
const otherSheet = workbook.getWorksheet("Sheet2");
const otherRangeCorner = otherSheet.getRange("A1");
otherRangeCorner.copyFrom(source, ExcelScript.RangeCopyType.all);
}
getWidth()
範囲の左端から範囲の右端までの 100% ズームの距離をポイント単位で返します。
getWidth(): number;
戻り値
number
getWorksheet()
group(groupOption)
アウトラインの列と行をグループします。
group(groupOption: GroupOption): void;
パラメーター
- groupOption
- ExcelScript.GroupOption
行または列で範囲をグループ化する方法を指定します。
InvalidArgument
エラーは、グループ オプションが範囲のisEntireRow
またはisEntireColumn
プロパティと異なる場合にスローされます (つまり、range.isEntireRow
が true で、groupOption
が "ByColumns" であるか、range.isEntireColumn
が true で、groupOption
が "ByRows" です)。
戻り値
void
例
/**
* This script creates a two-level column-based outline on Sheet1.
*/
function main(workbook: ExcelScript.Workbook) {
// Group columns A-F in the worksheet named Sheet1.
const sheet = workbook.getWorksheet("Sheet1");
const firstLevel = sheet.getRange("A:F");
firstLevel.group(ExcelScript.GroupOption.byColumns);
// Create a second level to the outline by grouping subsections.
sheet.getRange("A:B").group(ExcelScript.GroupOption.byColumns);
sheet.getRange("D:E").group(ExcelScript.GroupOption.byColumns);
}
hideGroupDetails(groupOption)
行または列グループの詳細を非表示にします。
hideGroupDetails(groupOption: GroupOption): void;
パラメーター
- groupOption
- ExcelScript.GroupOption
グループ化された行またはグループ化された列の詳細を非表示にするかどうかを指定します。
戻り値
void
insert(shift)
この範囲を占めるセルまたはセルの範囲をワークシートに挿入し、領域を空けるために他のセルをシフトします。 現在の空白位置にある新しい Range
オブジェクトを返します。
insert(shift: InsertShiftDirection): Range;
パラメーター
セルをシフトする方向を指定します。 詳細は「ExcelScript.InsertShiftDirection
」をご覧ください。
戻り値
例
/**
* This script inserts headers at the top of the worksheet.
*/
function main(workbook: ExcelScript.Workbook)
{
let currentSheet = workbook.getActiveWorksheet();
// Create headers for 3 columns.
let myHeaders = [["NAME", "ID", "ROLE"]];
// Add a blank first row and push existing data down a row.
let firstRow = currentSheet.getRange("1:1");
firstRow.insert(ExcelScript.InsertShiftDirection.down);
// Add the headers.
currentSheet.getRange("A1:C1").setValues(myHeaders);
}
merge(across)
範囲内のセルをワークシートの 1 つの領域に結合します。
merge(across?: boolean): void;
パラメーター
- across
-
boolean
省略可能。
true
を設定して、指定した範囲の各行のセルを個別の結合セルとして結合します。 既定値は false
です。
戻り値
void
例
/**
* This script merges a group of cells into a single region.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the active worksheet.
const selectedSheet = workbook.getActiveWorksheet();
// Merge cells A1 through A4.
const range = selectedSheet.getRange("A1:A4");
range.merge();
}
moveTo(destinationRange)
セルの値、書式、数式を現在の範囲から変換先の範囲に移動し、それらのセルの古い情報を置き換えます。 ターゲット範囲が現在の範囲より小さい場合、自動的に拡張されます。 元の範囲の範囲外にあるターゲット範囲のセルは変更されません。
moveTo(destinationRange: Range | string): void;
パラメーター
- destinationRange
-
ExcelScript.Range | string
destinationRange この範囲の情報を移動する範囲を指定します。
戻り値
void
removeDuplicates(columns, includesHeader)
列によって指定される範囲から重複する値を削除します。
removeDuplicates(
columns: number[],
includesHeader: boolean
): RemoveDuplicatesResult;
パラメーター
- columns
-
number[]
重複を含む可能性がある範囲内の列。 少なくとも 1 つの列を指定する必要があります。 0 を起点とする番号になります。
- includesHeader
-
boolean
True を指定すると、入力データにヘッダーが含まれます。 既定値は false です。
戻り値
例
/**
* This script removes duplicate rows from a range.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the used range of the active worksheet.
const usedRange = workbook.getActiveWorksheet().getUsedRange();
// Remove any row that has a same value in the 0-indexed column as a previous row.
const removedResults = usedRange.removeDuplicates([0], true);
// Log the count of removed rows.
console.log(`Rows removed: ${removedResults.getRemoved()}.`);
}
replaceAll(text, replacement, criteria)
現在の範囲内で、指定された条件に基づき、指定された文字列を検索し、置換します。
replaceAll(
text: string,
replacement: string,
criteria: ReplaceCriteria
): number;
パラメーター
- text
-
string
検索する文字列。
- replacement
-
string
元の文字列を置き換える文字列。
- criteria
- ExcelScript.ReplaceCriteria
追加の置き換え条件。
戻り値
number
例
/**
* This script searches through a table column and replaces
* cells marked "monthly special" with "parsnip".
* This script uses Range.replaceAll instead of Worksheet.replaceAll
* to limit the search to a specific range.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the range of a table named "Orders".
let table = workbook.getTable("Orders");
let range = table.getColumnByName("Vegetable").getRange();
// Change the value of any cells with the value "monthly special".
range.replaceAll("monthly special", "parsnip", {completeMatch: true});
}
select()
Excel UI で指定した範囲を選択します。
select(): void;
戻り値
void
例
/**
* This script selects the first row of a table.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the first table on the current worksheet.
const sheet = workbook.getActiveWorksheet()
const table = sheet.getTables()[0];
// Get the first data row in the table.
const row = table.getRangeBetweenHeaderAndTotal().getRow(0);
// Select the first data row.
row.select();
}
setColumnHidden(columnHidden)
現在の範囲内のすべての列が非表示の場合にを表します。 値は、範囲内のすべての列が非表示の場合に true
されます。 値は、範囲内の列が非表示でない場合に false
されます。 値は、範囲内の一部の列が非表示で、同じ範囲内の他の列が非表示でない場合に null
されます。
setColumnHidden(columnHidden: boolean): void;
パラメーター
- columnHidden
-
boolean
戻り値
void
setDirty()
次の再計算が発生したときに再計算する範囲を設定します。
setDirty(): void;
戻り値
void
setFormula(formula)
セルの数式を A1 スタイルの表記で設定します。 範囲に複数のセルが含まれている場合は、指定された範囲の各セルが入力データで更新されます。
setFormula(formula: string): void;
パラメーター
- formula
-
string
戻り値
void
例
/*
* This script sets a cell's formula,
* then displays how Excel stores the cell's formula and value separately.
*/
function main(workbook: ExcelScript.Workbook) {
let selectedSheet = workbook.getActiveWorksheet();
// Set A1 to 2.
let a1 = selectedSheet.getRange("A1");
a1.setValue(2);
// Set B1 to the formula =(2*A1), which should equal 4.
let b1 = selectedSheet.getRange("B1")
b1.setFormula("=(2*A1)");
// Log the current results for `getFormula` and `getValue` at B1.
console.log(`B1 - Formula: ${b1.getFormula()} | Value: ${b1.getValue()}`);
}
setFormulaLocal(formulaLocal)
ユーザーの言語と数値書式のロケールで、セルの数式を A1 スタイル表記で設定します。 たとえば、英語の数式 "=SUM(A1, 1.5)" は、ドイツ語では "=SUMME(A1; 1,5)" になります。 範囲に複数のセルが含まれている場合は、指定された範囲の各セルが入力データで更新されます。
setFormulaLocal(formulaLocal: string): void;
パラメーター
- formulaLocal
-
string
戻り値
void
setFormulaR1C1(formulaR1C1)
セルの数式を R1C1 スタイルの表記で設定します。 範囲に複数のセルが含まれている場合は、指定された範囲の各セルが入力データで更新されます。
setFormulaR1C1(formulaR1C1: string): void;
パラメーター
- formulaR1C1
-
string
戻り値
void
setFormulas(formulas)
A1 スタイル表記の数式を表します。 セルに数式がない場合は、代わりに値が返されます。
setFormulas(formulas: string[][]): void;
パラメーター
- formulas
-
string[][]
戻り値
void
例
/**
* This script sets the values of a range, then adds SUM formulas to calculate
* the totals for each row of that range.
*/
function main(workbook: ExcelScript.Workbook)
{
let currentSheet = workbook.getActiveWorksheet();
// Set the values of a range.
let values = [[1, 2, 4], [8, 16, 32], [64, 128, 256]];
let valueRange = currentSheet.getRange("A1:C3");
valueRange.setValues(values);
// Set the formulas of a range.
let formulas = [["=SUM(A1:C1)"], ["=SUM(A2:C2)"], ["=SUM(A3:C3)"]];
let formulaRange = currentSheet.getRange("D1:D3");
formulaRange.setFormulas(formulas);
}
setFormulasLocal(formulasLocal)
ユーザーの言語と数値書式ロケールで、A1 スタイル表記の数式を表します。 たとえば、英語の数式 "=SUM(A1, 1.5)" は、ドイツ語では "=SUMME(A1; 1,5)" になります。 セルに数式がない場合は、代わりに値が返されます。
setFormulasLocal(formulasLocal: string[][]): void;
パラメーター
- formulasLocal
-
string[][]
戻り値
void
setFormulasR1C1(formulasR1C1)
R1C1 スタイル表記の数式を表します。 セルに数式がない場合は、代わりに値が返されます。
setFormulasR1C1(formulasR1C1: string[][]): void;
パラメーター
- formulasR1C1
-
string[][]
戻り値
void
setHyperlink(hyperlink)
現在の範囲のハイパーリンクを表します。
setHyperlink(hyperlink: RangeHyperlink): void;
パラメーター
- hyperlink
- ExcelScript.RangeHyperlink
戻り値
void
例
/**
* This script inserts a hyperlink to the first cell of the last worksheet in the workbook.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the active cell.
let cell = workbook.getActiveCell();
// Get the last worksheet in the workbook.
// Note that this might be the current sheet if there's only one worksheet.
let lastSheet = workbook.getLastWorksheet();
// Get sheet name.
let linkedSheetName = lastSheet.getName();
console.log(`Setting hyperlink of ${cell.getAddress()} to the ${linkedSheetName} sheet's A1 cell`);
// Set the text for the hyperlink.
let value = `Click to go to: ${linkedSheetName}`;
// Create the hyperlink using that cell's value.
cell.setHyperlink({
textToDisplay: value.toString(),
screenTip: `Navigate to ${linkedSheetName}`,
documentReference: `${linkedSheetName}!A1`
});
}
setNumberFormat(numberFormat)
指定した範囲のセル Excel 数値書式コードを設定します。 範囲に複数のセルが含まれている場合は、指定された範囲の各セルが入力データで更新されます。
setNumberFormat(numberFormat: string): void;
パラメーター
- numberFormat
-
string
戻り値
void
例
/**
* This script sets the number format in column C to show the data as a percentage.
*/
function main(workbook: ExcelScript.Workbook) {
const selectedSheet = workbook.getActiveWorksheet();
// Set number format for column C to a percentage that rounds to the nearest percentage point.
selectedSheet.getRange("C:C").setNumberFormat("0%");
}
setNumberFormatLocal(numberFormatLocal)
ユーザーの言語設定に基づいて、指定した範囲のセル Excel 番号書式コードを設定します。excel では、 numberFormatLocal
プロパティを取得または設定するときに、言語や書式の強制は実行されません。 返されるテキストは、システム設定で指定された言語に基づいて、ローカル形式の文字列を使用します。 範囲に複数のセルが含まれている場合は、指定された範囲の各セルが入力データで更新されます。
setNumberFormatLocal(numberFormatLocal: string): void;
パラメーター
- numberFormatLocal
-
string
戻り値
void
例
/**
* This script sets the number format in column D to show the data as a percentage with a decimal.
*/
function main(workbook: ExcelScript.Workbook) {
const selectedSheet = workbook.getActiveWorksheet();
// Set number format for column D to a percentage that rounds to the nearest tenth of a percentage.
selectedSheet.getRange("D:D").setNumberFormatLocal("0.0%");
}
setNumberFormats(numberFormats)
指定した範囲の Excel の数値書式コードを表します。
setNumberFormats(numberFormats: string[][]): void;
パラメーター
- numberFormats
-
string[][]
戻り値
void
setNumberFormatsLocal(numberFormatsLocal)
ユーザーの言語設定に基づいて、指定した範囲の Excel の数値書式コードを表します。 excel では、 numberFormatLocal
プロパティを取得または設定するときに、言語や書式の強制は実行されません。 返されるテキストは、システム設定で指定された言語に基づいて、ローカル形式の文字列を使用します。
setNumberFormatsLocal(numberFormatsLocal: string[][]): void;
パラメーター
- numberFormatsLocal
-
string[][]
戻り値
void
setPredefinedCellStyle(predefinedCellStyle)
現在の範囲のスタイルを表します。
setPredefinedCellStyle(predefinedCellStyle: string): void;
パラメーター
- predefinedCellStyle
-
string
戻り値
void
setRowHidden(rowHidden)
現在の範囲内のすべての行が非表示になっているかどうかを表します。 値は、範囲内のすべての行が非表示の場合に true
されます。 値は、範囲内の行が非表示でない場合に false
されます。 値は、範囲内の一部の行が非表示で、同じ範囲内の他の行が非表示でない場合に null
されます。
setRowHidden(rowHidden: boolean): void;
パラメーター
- rowHidden
-
boolean
戻り値
void
setValue(value)
指定した範囲の生の値を設定します。 設定されるデータの型は、文字列、数値、またはブール値のいずれかです。
null
値は無視されます (Excel では設定も上書きもされません)。 範囲に複数のセルが含まれている場合は、指定された範囲の各セルが入力データで更新されます。
setValue(value: any): void;
パラメーター
- value
-
any
戻り値
void
setValues(values)
指定した範囲の生の値を設定します。 指定されるデータには、文字列、数値、またはブール値を指定できます。 指定された値が正符号 ("+")、マイナス ("-")、または等号 ("=") で始まる場合、Excel はこの値を数式として解釈します。
setValues(values: (string | number | boolean)[][]): void;
パラメーター
- values
-
(string | number | boolean)[][]
戻り値
void
例
/**
* This sample inserts some pre-loaded data into a range.
* It also shows how to get a range that fits the data.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the active cell.
let currentCell = workbook.getActiveCell();
// Calculate the range needed to fit the given data.
let targetRange = currentCell.getResizedRange(DATA.length - 1, DATA[0].length - 1);
// Set range values to the data.
targetRange.setValues(DATA);
// Autofit the columns so the worksheet is readable.
targetRange.getFormat().autofitColumns();
}
/*
* This sample's data is in a static 2-dimensional array.
* You could also get the input from other ranges or sources.
* Note that each row must have the same number of columns to be valid.
*/
const DATA = [
['Date', 'Salesperson', 'Product', 'Amount']
, ['3/2/2020', 'Anne', 'Pizza', '$1400']
, ['3/2/2020', 'Mariya', 'Pizza', '$1700']
, ['3/7/2020', 'Mark', 'Sandwiches', '$1010']
, ['3/24/2020', 'Anne', 'Pizza', '$750']
, ['3/28/2020', 'Mark', 'Salads', '$510']
, ['4/17/2020', 'Laura', 'Salads', '$900']
, ['4/17/2020', 'Mariya', 'Salads', '$1600']
, ['4/28/2020', 'Laura', 'Sandwiches', '$680']
];
showCard()
アクティブ セルに多数の値が含まれる場合、そのセルのカードを表示します。
showCard(): void;
戻り値
void
showGroupDetails(groupOption)
行または列グループの詳細を表示します。
showGroupDetails(groupOption: GroupOption): void;
パラメーター
- groupOption
- ExcelScript.GroupOption
グループ化された行またはグループ化された列の詳細を表示するかどうかを指定します。
戻り値
void
ungroup(groupOption)
アウトラインの列と行のグループ化を解除します。
ungroup(groupOption: GroupOption): void;
パラメーター
- groupOption
- ExcelScript.GroupOption
行または列で範囲をグループ化解除する方法を指定します。
戻り値
void
unmerge()
範囲内のセルを結合解除して別々のセルにします。
unmerge(): void;
戻り値
void
例
/**
* This script unmerges every used cell in the current worksheet.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the active worksheet.
const selectedSheet = workbook.getActiveWorksheet();
// Separate all regions into single cells in the currently used range.
const range = selectedSheet.getUsedRange();
range.unmerge();
}
Office Scripts