2016-10-08 133 views
0

我想解決以下代碼(主要問題是,我無法獲得範圍顯示),我已經包含一個日誌命令顯示正在打印出。當我運行doGet()並轉到View> Logs時,它會顯示:「[16-10-07 17:31:19:145 EDT] number:Range」問題與控制檯日誌谷歌應用程序腳本

sheet.getRange(「H1:DE1」 )是指具有日期的行的一部分。它不應該列出該行的內容嗎?

function doGet() { 

// The code below opens a spreadsheet using its id and logs the name for it. 
// Note that the spreadsheet is NOT physically opened on the client side. 
// It is opened on the server only (for modification by the script). 
var ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1aCXXXXXXXXXXXXw61H6VuigRf6YykW8O6A0WWmG46VO7ijI/edit#gid=1673918325'); 

Logger.log(ss.getName());

var sheet = ss.getSheets()[1]; 
var range = sheet.getRange("H1:DE1"); 
Logger.log('number for you: %s', range); 

// Calling this method with "true" sets the first line to be the title of the axes 
var datatable = range.getDataTable(true); 

// Note that this doesn't build an EmbeddedChart, so we can't just use 
// Sheet#insertChart(). If we want to do that, we should use 
// sheet.newChart().addRange() instead. 
var chart = Charts.newBarChart() 
.setDataTable(datatable) 
.setOption("title", "Your Title Here") 
.build(); 

var app = UiApp.createApplication(); 
app.add(chart); 
ss.show(app); 


} 

有誰能提醒?

回答

1

您不能以這種方式打印範圍對象。相反,你必須寫range.getRow()range.getColumn()。請注意,您有多種獲得range對象的函數。

0

範圍對象不包含圖紙值。爲了讓他們使用下列任一:

values = range.getValues(); // gets internal values 
values = range.getDisplayValues(); // gets displayed values 

在應用程序腳本來修復錯誤的最好方法是使用內置的調試器(不是Logger對象,不執行成績單)和斷點,像這樣的:

  1. 在腳本編輯器頂欄,發現下拉菜單並選擇要調試
  2. 設置斷點功能:點擊一個行的索引,你想在(假設是暫停越野車)
  3. 單擊頂部欄中的錯誤圖標在調試模式下運行腳本直到指定的斷點
  4. 在打開的選項卡中檢查您的變量
  5. 逐行掃描腳本行,方法是單擊步入,退出並跳過按鈕(在腳本編輯頂部吧)