2013-07-18 3 views

ответ

2

Вы ищете Sheet.getName(), проверьте documentation here.

var sheetname = SpreadsheetApp.getActiveSheet().getName(); 

.getName() метод существует в обоих электронных таблиц и листовых классов. Spreadsheet.getName() вернет имя документа , а Sheet.getName() предоставит вам имя листа в электронной таблице (то же имя, которое отображается на вкладке). В скрипте Google Apps, как и в javascript, вам нужно обратить внимание на возвращаемые типы вызовов методов или функций, чтобы убедиться, что вы вызываете правильный метод в цепочке.

В вашем примере .getActiveSpreadsheet() возвращает экземпляр таблицы. При переписывании вместо этого мы используем .getActiveSheet(), что дает лист.

+0

спасибо за подробное объяснение! Мне нужно было использовать $ sheetname, тогда это сработало! – TobiasH

+0

Это не работает, если у вас несколько листов. На Sheet2 это все равно возвращает «Sheet1». – 10basetom

+0

@ 10basetom - [Вот демонстрация] (https://docs.google.com/spreadsheets/d/1Zg-FU3KEGq-IgHGRpv4ETTqXGQRvJFbUXqzsYFup7Wg/edit?usp=sharing), возьмите копию электронной таблицы и попробуйте сами. Перейдите на любой лист и запустите «Имя листа> Показать имя листа». Работает отлично. Если у вас возникли проблемы, задайте вопрос с подробностями о вашем коде (например, это триггерная функция, встроенный скрипт и т. Д.). – Mogsdad

Смежные вопросы