アクティブなワークシートにテーブル名を取得できません。ワークブックにワークシートが挿入されるドロップダウンがあります。選択したワークシートにすべての列名(ヘッダー)を取得する別のドロップダウンがあります。どういうわけかrange.addressには「sheet1!2:2」があります。ここで現在のワークシートの範囲から行を取得しますか?
function getRow(worksheetName) {
Excel.run(function (ctx) {
// Queue a command to write the sample data to the worksheet
// at moment i have only one worksheet named "Sheet1"
var range = ctx.workbook.worksheets.getItem(worksheetName).getRange().getRow(1);
range.load('address');
// Run the queued-up commands, and return a promise to indicate task
//completion
return ctx.sync().then(function() {
console.log(range.address); // prints Sheet1!2:2
})
})
.catch(errorHandler);
}
は、私がテストに使用link to spreadsheet次のとおりです。ここで
は、私が使用したコードです。
私はここで間違っていますか?
は、ワークシート上のテーブルがありますか?あなたのスクリーンショットからは、人口の多い範囲のように見えますが、その範囲のテーブルを作成したかどうかはわかりません。データの範囲を含むすべての範囲が表であるわけではありません。ユーザーがUIを使用するかプログラムによってテーブルを作成する必要があります。 –
@RickKirkham大変申し訳ありませんが、私はちょうど混乱しています。私はスプレッドシートがデフォルトでテーブルを持つべきだと思っていましたが、明らかにこのテーブルを作成しなければなりません。私は質問を更新しました。もう一度ありがとうございました – kero
@kero - 私は、あなたが最初に尋ねたものとはまったく異なる質問であるという(そして、私は以下に答えた)ように、この質問を編集したことに気付きました。このシナリオで*新しい*質問を送信してください(元の質問に既に回答しており、新しい質問が元の質問と完全に異なる場合)。そうすることで、将来このQ/Aスレッドを読む際に、他の人が混乱するのを防ぐことができます。 –