2

Office API を使用してテーブルを作成しましたが、スタイルを設定したくありません。デフォルトでは、Office API を使用してテーブルを作成すると、デフォルトのテーブル スタイルが適用されていることがわかります。単純なデータが必要なだけです。

1.境界線の色と範囲の塗りつぶし領域を色を使用して変更して、スタイルがないように見せようとしました。

2つ質問があります。1. office.js API を使用して作成された Excel テーブルのデフォルト スタイルを削除する方法

https://github.com/OfficeDev/office-js-docs/blob/master/reference/excel/rangeborder.mdに記載されているように、ヘアラインと細い境界線を使用してみました

しかし、ヘアラインが機能していないように見えます。ヘアラインとシンは同じ境界線を与えます

        Excel.run(function (ctx) { 
        var sheetName = "Sheet1";
        var rangeAddress = "A1:F8";
        var range = ctx.workbook.worksheets.getItem(sheetName).getRange(rangeAddress);
  range.format.borders.getItem('InsideHorizontal').weight = "Hairline";
                range.format.borders.getItem('InsideVertical').weight = "Hairline";
                range.format.borders.getItem('EdgeBottom').weight = "Hairline";
                range.format.borders.getItem('EdgeLeft').weight = "Hairline";
                range.format.borders.getItem('EdgeRight').weight = "Hairline";
                range.format.borders.getItem('EdgeTop').weight = "Hairline";

                //range.format.borders.getItem('InsideHorizontal').style = "No Border";
                //range.format.borders.getItem('InsideVertical').style = 'No Border';
                //range.format.borders.getItem('EdgeBottom').style = 'No Border';
                //range.format.borders.getItem('EdgeLeft').style = 'No Border';
                //range.format.borders.getItem('EdgeRight').style = 'No Border';
                //range.format.borders.getItem('EdgeTop').style = 'No Border';

                range.format.borders.getItem('InsideHorizontal').color = 'Gray';
                range.format.borders.getItem('InsideVertical').color = 'Gray';
                range.format.borders.getItem('EdgeBottom').color = 'Gray';
                range.format.borders.getItem('EdgeLeft').color = 'Gray';
                range.format.borders.getItem('EdgeRight').color = 'Gray';
                range.format.borders.getItem('EdgeTop').color = 'Gray';        return ctx.sync(); 
    }).catch(function(error) {
            console.log("Error: " + error);
            if (error instanceof OfficeExtension.Error) {
                console.log("Debug info: " + JSON.stringify(error.debugInfo));
            }
        });

私のコードはこれに似ています。

テーブルから境界線を削除する方法を教えてください

4

1 に答える 1

2

スタイルを「No Border」ではなく「None」に設定する必要があります。

range.format.borders.getItem('InsideHorizontal').style = "None";
range.format.borders.getItem('InsideVertical').style = 'None';
range.format.borders.getItem('EdgeBottom').style = 'None';
range.format.borders.getItem('EdgeLeft').style = 'None';
range.format.borders.getItem('EdgeRight').style = 'None';
range.format.borders.getItem('EdgeTop').style = 'None';

可能な値は、RangeBorder オブジェクト (JavaScript API for Excel) に記載されています。

編集: 上記は新しい Excel API にのみ適用されます。従来のテーブル バインディングを使用する場合、別の方法があります。このプロセスのウォークスルーがhttp://dev.office.com/docs/add-ins/excel/format-tables-in-add-ins-for-excelにあります。

于 2016-06-10T21:39:00.480 に答える