簡體   English   中英

Google Apps 腳本 (GAS) 和 Google 表格:如何獲取電子表格 ID?

[英]Google Apps Script (GAS) & Google Sheets: how to get spreadsheetId?

我是 Google Apps 腳本 (GAS) 的菜鳥,我在認真閱讀和嘗試合適的文檔。 我在這里寫信是希望有人已經知道我的問題的答案。 下面的 GAS 返回錯誤“ReferenceError:電子表格 ID 未定義”。

問題:有人知道如何在 GAS 中獲取電子表格 ID 嗎?

function myFunction() {

  var sheet = Sheets.newSpreadsheet();
  var title = 'title';
  sheet.properties = Sheets.newSpreadsheetProperties();
  sheet.properties.title = title;
  var spreadsheet = Sheets.Spreadsheets.create(sheet);
}



function writeToSheet() {

var values = [
  [
    // Cell values ...
  ]
  // Additional rows ...
];
var valueRange = Sheets.newValueRange();
valueRange.values = values;
var result = Sheets.Spreadsheets.Values.update(valueRange, spreadsheetId, range, {
  valueInputOption: valueInputOption
});


}

從您的腳本中,當您想使用Sheets.Spreadsheets.Values.update放置值時,在使用Sheets.Spreadsheets.create創建新的 Google 電子表格之后,如何進行以下修改?

修改后的腳本:

function myFunction() {
  // This is your script of "myFunction".
  var sheet = Sheets.newSpreadsheet();
  var title = 'title';
  sheet.properties = Sheets.newSpreadsheetProperties();
  sheet.properties.title = title;
  var spreadsheet = Sheets.Spreadsheets.create(sheet);

  // --- I added the following script.
  var spreadsheetId = spreadsheet.spreadsheetId;
  var valueInputOption = "USER_ENTERED";
  var range = "A1";
  var values = [["a1", "b1", "c1"], ["a2", "b2", "c2"]];
  // ---

  // This is your script of "writeToSheet".
  var valueRange = Sheets.newValueRange();
  valueRange.values = values;
  var result = Sheets.Spreadsheets.Values.update(valueRange, spreadsheetId, range, {
    valueInputOption: valueInputOption
  });
}
  • 運行上述腳本時,將創建一個新的電子表格,並將[["a1", "b1", "c1"], ["a2", "b2", "c2"]]的值放入第一個選項卡。
  • 可以從 var spreadsheetId var spreadsheet = Sheets.Spreadsheets.create(sheet)中檢索電子表格 ID,如spreadsheet.spreadsheetId .spreadsheetId 。
  • 在這種情況下,需要設置valueInputOptionrange 在此修改中,分別使用USER_ENTEREDA1作為樣本值。
    • 對於range ,當不使用工作表名稱時,將值放入第一個選項卡。 在您的情況下,創建的新電子表格只有一個選項卡。 所以我認為這可能是合適的。

筆記:

  • 在此修改中,假設 Sheets API 已在 Google 高級服務中啟用。 請注意這一點。

參考:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM