Почему эта функция ничего не возвращает в Google Sheets? - PullRequest
1 голос
/ 11 июня 2019

Я пытаюсь получить доступ к информации на активном листе, но я даже не могу "соединиться" с листом для начала.Мне просто интересно, почему эта маленькая функция ничего не возвращает.

Я поиграл с разными способами вызова листа (например, getActive(), getActiveSheet(), getSheetByName() и т. Д.)и изменение имени самого листа.

function CLICK (){
  var sheetName = SpreadsheetApp.getActiveSheet();
  return sheetName;
}

Я просто хочу, чтобы он возвращал имя листа, чтобы я знал, что он правильно обращается к листу.

Ответы [ 2 ]

1 голос
/ 11 июня 2019

Привет, есть несколько вариантов, которые вы можете выбрать в зависимости от того, что вы хотите сделать. Я бы предложил прочитать https://developers.google.com/apps-script/guides/sheets. Вот примеры, которые у меня есть для вас.

function myFunction() {

  /* To work on the first sheet sheet of the Spreadsheet, use getName(); to get the name of the spreadsheet*/
  var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
  /* To get the name of the active sheet*/
  var sheet2 = SpreadsheetApp.getActiveSheet().getName();
  /* To add values on the active cell (current selected cell)*/
  var sheet3 = SpreadsheetApp.getActiveRange().setValue(sheet2);
  /*To work on the sheet with a specific Name*/
  var sheet4 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");

  console.log(sheet2);
  console.log(sheet4);  

  /*The difference between getSheets()[0] and getSheetByName("name") is that getSheets()[0] 
  will always work with the first sheet even if you change position and getSheetByName() will 
  always work with the sheet you named even if you change position, the position is 0 based*/ 
}

Вот еще одна функция для получения имени, URL-адреса и идентификатора srpeadsheet.

function getDetails(){

var getName = SpreadsheetApp.getActiveSpreadsheet().getName();
var getUrl = SpreadsheetApp.getActiveSpreadsheet().getUrl();
var getId = SpreadsheetApp.getActiveSpreadsheet().getId();

  console.log(getName);
  console.log(getUrl);
  console.log(getId);
}

Помните, что если вы используете редактор сценариев, который прикреплен к электронной таблице, вы наверняка будете работать с этой электронной таблицей. Теперь, если вы создали новый скрипт непосредственно на сайте script.google.com, вам сначала нужно будет открыть электронную таблицу, используя идентификатор или URL-адрес, чтобы открыть эту конкретную электронную таблицу.

Надеюсь, это поможет.

1 голос
/ 11 июня 2019

Для вашего var, пожалуйста, попробуйте:

sheetName = SpreadsheetApp.getActiveSheet().getName();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...