0

シート名がシートのデータm_addressで ある場合m_addressLocal、返された範囲オブジェクトのプロパティは次のようになります "'my sheet''s data'!A1:B2"

他の API 呼び出しでそのまま使用すると、失敗します。

回避策は、range.address プロパティを直接変更できないため、上位層で文字列を置換することです。

4

1 に答える 1

2

私たちはこれを調査しましたが、ここにバグがあるとは確信していません。以下のコードは機能します。「他の API 呼び出しでそのまま使用すると失敗する」と言うとき、どの API 呼び出しについて言及していますか?

try {
    await Excel.run(async (context) => {
        const sheetName = `My sheet's data`;

        // Preemptively delete any previous incarnation of this worksheet, if any
        context.workbook.worksheets.getItemOrNullObject(sheetName).delete();

        const sheetAdded = context.workbook.worksheets.add(sheetName);
        const rangeB2 = sheetAdded.getRange("B2").load("address");

        await context.sync();
        console.log(rangeB2.address);

        const refetchedRange = sheetAdded.getRange(rangeB2.address);
        refetchedRange.format.fill.color = "orange";

        const differentFetchedRange = sheetAdded.getRange("'My sheet''s data'!B3");
        differentFetchedRange.format.fill.color = "purple";

        sheetAdded.activate();
    });
}
catch (error) {
    OfficeHelpers.Utilities.log(error);
}

このスニペットは、新しいスクリプト ラボ ( https://aka.ms/getscriptlab ) で文字通り 5 回のクリックで実際に試すことができます。Script Lab アドイン (無料) をインストールし、ナビゲーション メニューで [インポート] を選択して、次の GIST URL を使用します: https://gist.github.com/Zlatkovsky/bd5e82a3cf6da021cc1af13dddebba1bScript Lab へのスニペットのインポートに関する詳細情報を参照してください。

于 2017-05-05T22:01:20.337 に答える