Ich kann den Tabellennamen im aktiven Arbeitsblatt nicht abrufen. Ich habe ein Dropdown-Feld, das mit Arbeitsblättern in der Arbeitsmappe gefüllt wird. Ich habe eine andere Dropdown-Liste, die alle Spaltennamen (Header) in ausgewählten Arbeitsblättern erhalten soll. Irgendwie hat range.address "sheet1! 2: 2".Zeile aus Bereich im aktuellen Arbeitsblatt abrufen?
Hier ist der Code, den ich verwendet:
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);
}
Hier ist ein link to spreadsheet, die ich zum Testen verwendet.
Jede Ahnung, was ich hier falsch mache?
Sind Sie sicher, dass auf dem Arbeitsblatt gibt es Tabellen? In Ihrem Screenshot sieht es so aus, als hätten Sie einen aufgefüllten Bereich, aber es ist nicht möglich zu sagen, ob Sie eine Tabelle für diesen Bereich erstellt haben. Nicht jeder Bereich, einschließlich Bereiche mit Daten, sind Tabellen. Eine Tabelle muss entweder vom Benutzer über die Benutzeroberfläche oder programmgesteuert erstellt werden. –
@RickKirkham Entschuldigung, Sie haben absolut Recht, ich habe gerade verwirrt Ich dachte, Tabellenkalkulation sollte standardmäßig eine Tabelle haben, aber anscheinend Benutzer muss diese Tabelle erstellen. Ich habe die Frage aktualisiert. Vielen Dank noch einmal – kero
@kero - Ich merke, dass Sie diese Frage so bearbeitet haben, dass es jetzt eine ganz andere Frage ist als die, die Sie ursprünglich gestellt haben (und die ich unten beantwortet habe). Geben Sie in Zukunft bitte eine * neue * Frage in diesem Szenario ein (d. H. Wenn Ihre ursprüngliche Frage bereits beantwortet wurde und Ihre neue Frage sich völlig von der ursprünglich gestellten Frage unterscheidet). Dadurch wird verhindert, dass andere Personen verwirrt werden (wenn die Antwort nicht mit der Frage übereinstimmt), wenn Sie diesen Q/A-Thread in Zukunft durchlesen. –