iztel
iztel

Reputation: 25

App script error Please select an active sheet first. (line 4, file "Code")

I am getting an error Please select an active sheet first. (line 4, file "Code") when trying to publish my apps script dashboard app based on this tutorial. I've read through some other posts about setting an active sheet but it only produced more errors. I'm at a loss as to how to correct this. Can someone please tell me what I'm doing wrong?

function doGet() {
  var ss = SpreadsheetApp.openById('<sheetid>');
  var data = ss.getDataRange();

  var ageFilter = Charts.newNumberRangeFilter().setFilterColumnIndex(1).build();
  var nameFilter = Charts.newStringFilter().setFilterColumnIndex(0).build();
  var genderFilter = Charts.newStringFilter().setFilterColumnIndex(2).build();

  var tableChart = Charts.newTableChart()
                   .setDataViewDefinition(Charts.newDataViewDefinition().set([0,1,2]))
                   .build();

  var pieChart = Charts.newPieChart()
                   .setDataViewDefinition(Charts.newDataViewDefinition().set([0,,2]))
                   .build();

  var dashboard = Charts.newDashboardPanel().setDataTable(data)
                   .bind([ageFilter,nameFilter,genderFilter], [tableChart, pieChart])
                   .build();

  var app = UiApp.createApplication();
  var filterPanel = app.createVerticalPanel();
  var chartPanel = app.createHorizontalPanel();
  filterPanel.add(ageFilter).add(nameFilter).add(genderFilter).setSpacing(10);
  chartPanel.add(tableChart).add(pieChart).setSpacing(10);

  dashboard.add(app.createVerticalPanel().add(filterPanel).add(chartPanel));
  app.add(dashboard);
  return app;
}

Upvotes: 2

Views: 8694

Answers (1)

LennyZ71
LennyZ71

Reputation: 571

var ss = SpreadsheetApp.openById('<sheetid>');
var sheet = ss.getSheetByName('sheetNameHere');///////Need to get the sheet, not just the whole work book.
var data = sheet.getDataRange();

Upvotes: 3

Related Questions