Excel JavaScript API を使用してワークシートを操作するWork with worksheets using the Excel JavaScript API

この記事では、Excel JavaScript API を使用して、ワークシートでタスクを実行する方法のコード サンプルを示しています。 Worksheet オブジェクトおよび WorksheetCollection オブジェクトがサポートするプロパティとメソッドの完全なリストについては、「Worksheet オブジェクト (JavaScript API for Excel)」および「WorksheetCollection オブジェクト (JavaScript API for Excel)」を参照してください。This article provides code samples that show how to perform common tasks with worksheets using the Excel JavaScript API. For the complete list of properties and methods that the Worksheet and WorksheetCollection objects support, see Worksheet Object (JavaScript API for Excel) and WorksheetCollection Object (JavaScript API for Excel).

注意

この記事の情報は標準のワークシートにのみ適用されます。"グラフ" シートや "マクロ" シートには適用されません。The information in this article applies only to regular worksheets; it does not apply to "chart" sheets or "macro" sheets.

ワークシートを取得するGet worksheets

次のコード サンプルでは、ワークシートのコレクションを取得し、各ワークシートの name プロパティを読み込み、コンソールにメッセージを書き込みます。The following code sample gets the collection of worksheets, loads the name property of each worksheet, and writes a message to the console.

Excel.run(function (context) {
    var sheets = context.workbook.worksheets;
    sheets.load("items/name");

    return context.sync()
        .then(function () {
            if (sheets.items.length > 1) {
                console.log(`There are ${sheets.items.length} worksheets in the workbook:`);
            } else {
                console.log(`There is one worksheet in the workbook:`);
            }
            for (var i in sheets.items) {
                console.log(sheets.items[i].name);
            }
        });
}).catch(errorHandlerFunction);

注意

ワークシートの id プロパティは、指定されたブックのワークシートを一意に識別します。その値は、ワークシートの名前変更や移動をしても同じままです。Mac 版の Excel のブックからワークシートを削除すると、削除されたワークシートの id はそれ以降に作成される新規ワークシートに再割り当てされる可能性があります。The id property of a worksheet uniquely identifies the worksheet in a given workbook and its value will remain the same even when the worksheet is renamed or moved. When a worksheet is deleted from a workbook in Excel for Mac, the id of the deleted worksheet may be reassigned to a new worksheet that is subsequently created.

作業中のワークシートを取得するGet the active worksheet

次のコード サンプルでは、作業中のワークシートを取得し、name プロパティを読み込み、コンソールにメッセージを書き込みます。The following code sample gets the active worksheet, loads its name property, and writes a message to the console.

Excel.run(function (context) {
    var sheet = context.workbook.worksheets.getActiveWorksheet();
    sheet.load("name");

    return context.sync()
        .then(function () {
            console.log(`The active worksheet is "${sheet.name}"`);
        });
}).catch(errorHandlerFunction);

作業中のワークシートを設定するSet the active worksheet

次のコード サンプルでは、作業中のワークシートを Sample という名前のワークシートに設定し、name プロパティを読み込み、コンソールにメッセージを書き込みます。 その名前を持つワークシートが存在しない場合、activate() メソッドにより ItemNotFound エラーがスローされます。The following code sample sets the active worksheet to the worksheet named Sample, loads its name property, and writes a message to the console. If there is no worksheet with that name, the activate() method throws an ItemNotFound error.

Excel.run(function (context) {
    var sheet = context.workbook.worksheets.getItem("Sample");
    sheet.activate();
    sheet.load("name");

    return context.sync()
        .then(function () {
            console.log(`The active worksheet is "${sheet.name}"`);
        });
}).catch(errorHandlerFunction);

相対位置でワークシートを参照するReference worksheets by relative position

以下の例は、相対位置でワークシートを参照する方法を示しています。These examples show how to reference a worksheet by its relative position.

最初のワークシートを取得するGet the first worksheet

次のコード サンプルでは、ブックの最初のワークシートを取得し、name プロパティを読み込み、コンソールにメッセージを書き込みます。The following code sample gets the first worksheet in the workbook, loads its name property, and writes a message to the console.

Excel.run(function (context) {
    var firstSheet = context.workbook.worksheets.getFirst();
    firstSheet.load("name");

    return context.sync()
        .then(function () {
            console.log(`The name of the first worksheet is "${firstSheet.name}"`);
        });
}).catch(errorHandlerFunction);

最後のワークシートを取得するGet the last worksheet

次のコード サンプルでは、ブックの最後のワークシートを取得し、name プロパティを読み込み、コンソールにメッセージを書き込みます。The following code sample gets the last worksheet in the workbook, loads its name property, and writes a message to the console.

Excel.run(function (context) {
    var lastSheet = context.workbook.worksheets.getLast();
    lastSheet.load("name");

    return context.sync()
        .then(function () {
            console.log(`The name of the last worksheet is "${lastSheet.name}"`);
        });
}).catch(errorHandlerFunction);

次のワークシートを取得するGet the next worksheet

次のコード サンプルでは、ブックで作業中のワークシートの後のワークシートを取得し、name プロパティを読み込み、コンソールにメッセージを書き込みます。 作業中のワークシートの後にワークシートがない場合、getNext() メソッドにより ItemNotFound エラーがスローされます。The following code sample gets the worksheet that follows the active worksheet in the workbook, loads its name property, and writes a message to the console. If there is no worksheet after the active worksheet, the getNext() method throws an ItemNotFound error.

 Excel.run(function (context) {
    var currentSheet = context.workbook.worksheets.getActiveWorksheet();
    var nextSheet = currentSheet.getNext();
    nextSheet.load("name");

    return context.sync()
        .then(function () {
            console.log(`The name of the sheet that follows the active worksheet is "${nextSheet.name}"`);
        });
}).catch(errorHandlerFunction);

前のワークシートを取得するGet the previous worksheet

次のコード サンプルでは、ブックで作業中のワークシートの前のワークシートを取得し、name プロパティを読み込み、コンソールにメッセージを書き込みます。 作業中のワークシートの前にワークシートが存在しない場合、getPrevious() メソッドにより ItemNotFound エラーがスローされます。The following code sample gets the worksheet that precedes the active worksheet in the workbook, loads its name property, and writes a message to the console. If there is no worksheet before the active worksheet, the getPrevious() method throws an ItemNotFound error.

Excel.run(function (context) {
    var currentSheet = context.workbook.worksheets.getActiveWorksheet();
    var previousSheet = currentSheet.getPrevious();
    previousSheet.load("name");

    return context.sync()
        .then(function () {
            console.log(`The name of the sheet that precedes the active worksheet is "${previousSheet.name}"`);
        });
}).catch(errorHandlerFunction);

ワークシートを追加するAdd a worksheet

次のコード サンプルでは、Sample という名前の新しいワークシートをブックに追加し、name プロパティと position プロパティを読み込み、コンソールにメッセージを書き込みます。新しいワークシートは既存の全ワークシートの後に追加されます。The following code sample adds a new worksheet named Sample to the workbook, loads its name and position properties, and writes a message to the console. The new worksheet is added after all existing worksheets.

Excel.run(function (context) {
    var sheets = context.workbook.worksheets;

    var sheet = sheets.add("Sample");
    sheet.load("name, position");

    return context.sync()
        .then(function () {
            console.log(`Added worksheet named "${sheet.name}" in position ${sheet.position}`);
        });
}).catch(errorHandlerFunction);

ワークシートの削除Delete a worksheet

次のコード サンプルでは、ブックの最後のワークシートを (ただし、ブック内の唯一のシートでない場合に) 削除し、コンソールにメッセージを書き込みます。The following code sample deletes the final worksheet in the workbook (as long as it's not the only sheet in the workbook) and writes a message to the console.

Excel.run(function (context) {
    var sheets = context.workbook.worksheets;
    sheets.load("items/name");

    return context.sync()
        .then(function () {
            if (sheets.items.length === 1) {
                console.log("Unable to delete the only worksheet in the workbook");
            } else {
                var lastSheet = sheets.items[sheets.items.length - 1];

                console.log(`Deleting worksheet named "${lastSheet.name}"`);
                lastSheet.delete();

                return context.sync();
            };
        });
}).catch(errorHandlerFunction);

注意

可視性が Very Hidden のワークシートは、delete メソッドで削除することはできません。A worksheet with a visibility of "Very Hidden" cannot be deleted with the delete method. このワークシートを削除する場合には、最初に可視性を変更する必要があります。If you wish to delete the worksheet anyway, you must first change the visibility.

ワークシートの名前を変更するRename a worksheet

次のコード サンプルでは、作業中のワークシートの名前を New Name に変更します。The following code sample changes the name of the active worksheet to New Name.

Excel.run(function (context) {
    var currentSheet = context.workbook.worksheets.getActiveWorksheet();
    currentSheet.name = "New Name";

    return context.sync();
}).catch(errorHandlerFunction);

ワークシートを移動するMove a worksheet

次のコード サンプルでは、ブックの最後の位置からブックの最初の位置にワークシートを移動します。The following code sample moves a worksheet from the last position in the workbook to the first position in the workbook.

Excel.run(function (context) {
    var sheets = context.workbook.worksheets;
    sheets.load("items");

    return context.sync()
        .then(function () {
            var lastSheet = sheets.items[sheets.items.length - 1];
            lastSheet.position = 0;

            return context.sync();
        });
}).catch(errorHandlerFunction);

ワークシートの可視性を設定するSet worksheet visibility

これらの例では、ワークシートの可視性を設定する方法を示します。These examples show how to set the visibility of a worksheet.

ワークシートを非表示にするHide a worksheet

次のコード サンプルでは、Sample という名前のワークシートの可視性を非表示に設定し、name プロパティを読み込み、コンソールにメッセージを書き込みます。The following code sample sets the visibility of worksheet named Sample to hidden, loads its name property, and writes a message to the console.

Excel.run(function (context) {
    var sheet = context.workbook.worksheets.getItem("Sample");
    sheet.visibility = Excel.SheetVisibility.hidden;
    sheet.load("name");

    return context.sync()
        .then(function () {
            console.log(`Worksheet with name "${sheet.name}" is hidden`);
        });
}).catch(errorHandlerFunction);

ワークシートを再表示するUnhide a worksheet

次のコード サンプルでは、Sample という名前のワークシートの可視性を表示に設定し、name プロパティを読み込み、コンソールにメッセージを書き込みます。The following code sample sets the visibility of worksheet named Sample to visible, loads its name property, and writes a message to the console.

Excel.run(function (context) {
    var sheet = context.workbook.worksheets.getItem("Sample");
    sheet.visibility = Excel.SheetVisibility.visible;
    sheet.load("name");

    return context.sync()
        .then(function () {
            console.log(`Worksheet with name "${sheet.name}" is visible`);
        });
}).catch(errorHandlerFunction);

ワークシート内で単一のセルを取得するGet a single cell within a worksheet

次のコード サンプルでは、Sample という名前のワークシートの 2 行目、5 列目にあるセルを取得し、address プロパティと values プロパティを読み込み、コンソールにメッセージを書き込みます。The following code sample gets the cell that is located in row 2, column 5 of the worksheet named Sample, loads its address and values properties, and writes a message to the console. getCell(row: number, column:number) メソッドに渡される値は、取得するセルの 0 から始まる行番号および列番号です。The values that are passed into the getCell(row: number, column:number) method are the zero-indexed row number and column number for the cell that is being retrieved.

Excel.run(function (context) {
    var sheet = context.workbook.worksheets.getItem("Sample");
    var cell = sheet.getCell(1, 4);
    cell.load("address, values");

    return context.sync()
        .then(function() {
            console.log(`The value of the cell in row 2, column 5 is "${cell.values[0][0]}" and the address of that cell is "${cell.address}"`);
        })
}).catch(errorHandlerFunction);

データ変更を検出しますDetect data changes

表のデータをユーザーが変更した場合に、アドインを使用して対応する必要がある場合があります。Your add-in may need to react to users changing the data in a worksheet. これらの変更を検出するために、onChangedワークシートのイベントに対するイベントハンドラを登録できますTo detect these changes, you can register an event handler for the onChanged event of a worksheet. onChangedイベントのイベント ハンドラーは、そのイベントが発生した際に TableChangedEventArgs オブジェクトを受け取ります。Event handlers for the onChanged event receive a WorksheetChangedEventArgs object when the event fires.

このWorksheetChangedEventArgsオブジェクトは、変更とソースに関する情報を提供します。The WorksheetChangedEventArgs object provides information about the changes and the source. onChanged が発生するのは書式設定またはデータの値が変更された時であるため、値が実際に変更されたかどうかを確認するのにアドインを使用すると便利です。Since onChanged fires when either the format or value of the data changes, it can be useful to have your add-in check if the values have actually changed. detailsプロパティは、この情報を ChangedEventDetail としてカプセル化します。The details property encapsulates this information as a ChangedEventDetail. 次のコード サンプルでは、変更前と変更後の値および変更されたセルの種類を表示する方法を表示します。The following code sample shows how to display the before and after values and types of a cell that has been changed.

// This function would be used as an event handler for the Worksheet.onChanged event.
function onWorksheetChanged(eventArgs) {
    Excel.run(function (context) {
        var details = eventArgs.details;
        var address = eventArgs.address;

        // Print the before and after types and values to the console.
        console.log(`Change at ${address}: was ${details.valueBefore}(${details.valueTypeBefore}),`
            + ` now is ${details.valueAfter}(${details.valueTypeAfter})`);
        return context.sync();
    });
}

並べ替えイベントを処理する (プレビュー)Handle sorting events (preview)

注意

これらの並べ替え関連イベントの API は現在、パブリック プレビューでのみ使用できます。The APIs for these sort-related events are currently available only in public preview. この機能を使用するには、office JavaScript ライブラリのプレビューバージョンをoffice の JS CDNから使用する必要があります。To use this feature, you must use the preview version of the Office JavaScript library from the Office.js CDN. TypeScript のコンパイルおよび IntelliSense 用の型定義ファイルは、CDN と、定義された定義ファイルにあります。The type definition file for TypeScript compilation and IntelliSense is found at the CDN and DefinitelyTyped. これらの種類は、でnpm install --save-dev @types/office-js-previewインストールできます。You can install these types with npm install --save-dev @types/office-js-preview. 今後予定されている API の詳細については、「Excel JavaScript API 要件セット」参照してください。For more information on our upcoming APIs, please visit Excel JavaScript API requirement sets.

onColumnSorted および onRowSorted イベントは、ワークシート データがいつ並べ替えられるかを示します。The onColumnSorted and onRowSorted events indicate when any worksheet data is sorted. これらのイベントは、個々の Worksheet オブジェクトおよびブックの WorkbookCollection に接続されています。These events are connected to individual Worksheet objects and to the workbook's WorkbookCollection. これらは、並べ替えがプログラムで実行されるか、Excel ユーザー インターフェイスを介して手動で実行されるかに関係なく起動します。They fire whether the sorting is done programmatically or manually through the Excel user interface.

注意

onColumnSorted は、左から右への並べ替え操作の結果として列が並べ替えされたときに起動します。onColumnSorted fires when columns are sorted as the result of a left-to-right sort operation. onRowSorted は、上から下への並べ替え操作の結果として行が並べ替えされたときに起動します。onRowSorted fires when rows are sorted as the result of a top-to-bottom sort operation. 列のヘッダーのドロップダウン メニューを使用してテーブルを並べ替えると、onRowSorted イベントが発生します。Sorting a table using the drop-down menu on a column header results in an onRowSorted event. イベントは、並べ替え条件として考慮されているものではなく、移動しているものに対応します。The event corresponds with what is moving, not what is being considered as the sorting criteria.

onColumnSorted および onRowSorted イベントは、それぞれ WorksheetColumnSortedEventArgs または WorksheetRowSortedEventArgs でコールバックを提供します。The onColumnSorted and onRowSorted events provide their callbacks with WorksheetColumnSortedEventArgs or WorksheetRowSortedEventArgs, respectively. これらは、イベントの詳細を提供します。These give more details about the event. 特に、両方の EventArgs には、並べ替え操作の結果として移動された行または列を表す address プロパティがあります。In particular, both EventArgs have an address property that represents the rows or columns moved as a result of the sort operation. セルの値が並べ替え条件の一部ではない場合でも、並べ替えられたコンテンツを持つセルが含まれます。Any cell with sorted content is included, even if that cell's value was not part of the sorting criteria.

以下の画像は、並べ替えイベントの address プロパティによって返される範囲を示しています。The following images show the ranges returned by the address property for sort events. まず、並べ替えの前のサンプル データを次に示します。First, here is the sample data before sorting:

並べ替えられる前の Excel のテーブル データ

Q1」(「B」の値) で上から下への並べ替えが実行される場合、次の強調表示された行が WorksheetRowSortedEventArgs.address によって返されます。If a top-to-bottom sort is performed on "Q1" (the values in "B"), the following highlighted rows are returned by WorksheetRowSortedEventArgs.address:

上から下への並べ替えの後の Excel のテーブル データ。

元のデータの「Quinces」(「4」の値) で左から右への並べ替えが実行される場合、次の強調表示された列が WorksheetColumnsSortedEventArgs.address によって返されます。If a left-to-right sort is performed on "Quinces" (the values in "4") on the original data, the following highlighted columns are returned by WorksheetColumnsSortedEventArgs.address:

左から右への並べ替えの後の Excel のテーブル データ。

次のコード サンプルは、Worksheet.onRowSorted イベントのイベント ハンドラーを登録する方法を示しています。The following code sample shows how to register an event handler for the Worksheet.onRowSorted event. ハンドラーのコールバックは、範囲の塗りつぶしの色をクリアし、移動した行のセルを塗りつぶします。The handler's callback clears the fill color for the range, then fills the cells of the moved rows.

Excel.run(function (context) {
    var sheet = context.workbook.worksheets.getActiveWorksheet();

    // This will fire whenever a row has been moved as the result of a sort action.
    sheet.onRowSorted.add(function (event) {
        return Excel.run(function (context) {
            console.log("Row sorted: " + event.address);
            var sheet = context.workbook.worksheets.getActiveWorksheet();

            // Clear formatting for section, then highlight the sorted area.
            sheet.getRange("A1:E5").format.fill.clear();
            if (event.address !== "") {
                sheet.getRanges(event.address).format.fill.color = "yellow";
            }

            return context.sync();
        });
    });

    return context.sync();
}).catch(errorHandlerFunction);

一致するテキストがあるすべてのセルを検索するFind all cells with matching text (preview)

Worksheet オブジェクトには、ワークシート内の指定された文字列を検索するための find メソッドがあります。The Worksheet object has a find method to search for a specified string within the worksheet. このメソッドは RangeAreas オブジェクトを返します。これは、一度に編集できる Range オブジェクトのコレクションとなります。It returns a RangeAreas object, which is a collection of Range objects that can be edited all at once. 以下のコード サンプルは、文字列 Complete と等しいすべてのセルを検索し、そのセルの色を緑色にします。The following code sample finds all cells with values equal to the string Complete and colors them green. 指定した文字列がワークシートに存在しない場合、ItemNotFound エラーが findAll によってスローされます。Note that findAll will throw an ItemNotFound error if the specified string doesn't exist in the worksheet. 指定した文字列がワークシートに存在しない可能性がある場合は、自分のコードで適切にシナリオを処理できるように、findAllOrNullObject メソッドを使用するようにしてください。If you expect that the specified string may not exist in the worksheet, use the findAllOrNullObject method instead, so your code gracefully handles that scenario.

Excel.run(function (context) {
    var sheet = context.workbook.worksheets.getItem("Sample");
    var foundRanges = sheet.findAll("Complete", {
        completeMatch: true, // findAll will match the whole cell value
        matchCase: false // findAll will not match case
    });

    return context.sync()
        .then(function() {
            foundRanges.format.fill.color = "green"
    });
}).catch(errorHandlerFunction);

注意

このセクションでは、Worksheet オブジェクトの関数を使用してセルと範囲を検索する方法について説明します。This section describes how to find cells and ranges using the Worksheet object's functions. 範囲の取得の詳細については、オブジェクト専用の記事で確認することができます。More range retrieval information can be found in object-specific articles.

データをフィルター処理するFilter data

AutoFilter はワークシート内の範囲にわたってデータ フィルターを適用します。An AutoFilter applies data filters across a range within the worksheet. これは、次のパラメータを持つ Worksheet.autoFilter.apply で作成されます。This is created with Worksheet.autoFilter.apply, which has the following parameters:

  • range: フィルターが適用される範囲を、Range オブジェクトまたは文字列の範囲として指定します。range: The range to which the filter is applied, specified as either a Range object or a string.
  • columnIndex: フィルター条件が評価される 0 から始まる列インデックス。columnIndex: The zero-based column index against which the filter criteria is evaluated.
  • criteria: 列のセルに基づいてどの行をフィルター処理するかを決定する FilterCriteria オブジェクト。criteria: A FilterCriteria object determining which rows should be filtered based on the column's cell.

最初のコード サンプルは、ワークシートの使用範囲にフィルターを追加する方法を示しています。The first code sample shows how to add a filter to the worksheet's used range. このフィルタは、列 3 の値に基づいて、上位 25% にないエントリを非表示にします。This filter will hide entries that are not in the top 25%, based on the values in column 3.

Excel.run(function (context) {
    var sheet = context.workbook.worksheets.getActiveWorksheet();
    var farmData = sheet.getUsedRange();

    // This filter will only show the rows with the top 25% of values in column 3.
    sheet.autoFilter.apply(farmData, 3, { criterion1: "25", filterOn: Excel.FilterOn.topPercent });
    return context.sync();
}).catch(errorHandlerFunction);

次のコード サンプルでは、reapply メソッドを使用してオート フィルターを更新する方法を示します。The next code sample shows how to refresh the auto-filter using the reapply method. これは、範囲内のデータが変更されたときに実行する必要があります。This should be done when the data in the range changes.

Excel.run(function (context) {
    var sheet = context.workbook.worksheets.getActiveWorksheet();
    sheet.autoFilter.reapply();
    return context.sync();
}).catch(errorHandlerFunction);

最後のオート フィルター コード サンプルでは、remove メソッドを使用してワークシートからオート フィルターを削除する方法を示します。The final auto-filter code sample shows how to remove the auto-filter from the worksheet with the remove method.

Excel.run(function (context) {
    var sheet = context.workbook.worksheets.getActiveWorksheet();
    sheet.autoFilter.remove();
    return context.sync();
}).catch(errorHandlerFunction);

AutoFilter を個々のテーブルに適用することもできます。An AutoFilter can also be applied to individual tables. 詳しくは、Excel JavaScript API を使用して表を操作するを参照してください。See Work with tables using the Excel JavaScript API for more information.

データの保護Data protection

ご使用のアドインでは、ワークシート内のデータを編集するユーザー機能を制御できます。Your add-in can control a user's ability to edit data in a worksheet. ワークシートの protection プロパティは WorksheetProtection オブジェクトであり、protect() メソッドを備えています。The worksheet's protection property is a WorksheetProtection object with a protect() method. 次の例では、アクティブなワークシートの完全な保護を切り替える基本的なシナリオを示します。The following example shows a basic scenario toggling the complete protection of the active worksheet.

Excel.run(function (context) {
    var activeSheet = context.workbook.worksheets.getActiveWorksheet();
    activeSheet.load("protection/protected");

    return context.sync().then(function() {
        if (!activeSheet.protection.protected) {
            activeSheet.protection.protect();
        }
    })
}).catch(errorHandlerFunction);

protect メソッドには、2 つの省略可能なパラメーターがあります。The protect method has two optional parameters:

  • options: 特定の編集制限を定義する WorksheetProtectionOptions オブジェクト。options: A WorksheetProtectionOptions object defining specific editing restrictions.
  • password: ユーザーが保護をバイパスしてワークシートを編集するために必要なパスワードを表す文字列。password: A string representing the password needed for a user to bypass protection and edit the worksheet.

ワークシートの保護と、Excel の UI を使用してそれを変更する方法の詳細については、記事「ワークシートを保護する」を参照してください。The article Protect a worksheet has more information about worksheet protection and how to change it through the Excel UI.

ページ レイアウトと印刷の設定Page layout and print settings

アドインは、ワークシート レベルでページ レイアウトの設定にアクセスできます。Add-ins have access to page layout settings at a worksheet level. シートの印刷方法は、これらの設定により制御されます。These control how the sheet is printed. Worksheet オブジェクトには、レイアウト関連のプロパティが 3 つ含まれます: horizontalPageBreaksverticalPageBreakspageLayoutA Worksheet object has three layout-related properties: horizontalPageBreaks, verticalPageBreaks, pageLayout.

Worksheet.horizontalPageBreaksWorksheet.verticalPageBreaksPageBreakCollections です。Worksheet.horizontalPageBreaks and Worksheet.verticalPageBreaks are PageBreakCollections. これらは PageBreak のコレクションで、手動改ページを挿入する範囲を指定します。These are collections of PageBreaks, which specify ranges where manual page breaks are inserted. 次のコード サンプルは、水平の改ページを行 21 の上に追加します。The following code sample adds a horizontal page break above row 21.

Excel.run(function (context) {
    var sheet = context.workbook.worksheets.getActiveWorksheet();
    sheet.horizontalPageBreaks.add("A21:E21"); // The page break is added above this range.
    return context.sync();
}).catch(errorHandlerFunction);

Worksheet.pageLayout は、PageLayout オブジェクトです。Worksheet.pageLayout is a PageLayout object. このオブジェクトには、プリンター固有の実装に依存しないレイアウト設定とプリント設定が含まれています。This object contains layout and print settings that are not dependant any printer-specific implementation. これらの設定には、余白、印刷の向き、ページ番号、タイトル行、および印刷範囲が含まれます。These settings include margins, orientation, page numbering, title rows, and print area.

次のコード サンプルは、ページを縦方向と横方向ともに中央に配置、すべてのページの上部に印刷するタイトル行を設定し、ワークシートのサブセクションで印刷範囲を設定します。The following code sample centers the page (both vertically and horizontally), sets a title row that will be printed at the top of every page, and sets the printed area to a subsection of the worksheet.

Excel.run(function (context) {
    var sheet = context.workbook.worksheets.getActiveWorksheet();

    // Center the page in both directions.
    sheet.pageLayout.centerHorizontally = true;
    sheet.pageLayout.centerVertically = true;

    // Set the first row as the title row for every page.
    sheet.pageLayout.setPrintTitleRows("$1:$1");

    // Limit the area to be printed to the range "A1:D100".
    sheet.pageLayout.setPrintArea("A1:D100");

    return context.sync();
}).catch(errorHandlerFunction);

関連項目See also