[英]Create a daily portfolio tracker in Google Sheet, with importxml
我正在嘗試在 Google 表格中跟蹤某些股票的每日股票價值和日期。 目前,數據捕獲代碼運行良好,但每次發生更改時都會用新值替換所有值。 在 A2 中,我有一個基於 IMPORTXML 的單元格,它從 Morningstar 獲取日期,在 B2 上,基於 SUBSTITUTE(SUBSTITUTE(importxml(CONCATENATE...),它從 FT 獲取每日值。
我的腳本代碼現在顯示如下:
function saveData() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet1");
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet2")
var current_date = sheet.getRange('Tracker!A2').getValues();
var current_value = sheet.getRange('Tracker!B2').getValues();
sheet.appendrow([current_date, current_value]);
Tracker 是頁面的名稱。 運行代碼告訴我無法從 null 獲取范圍。 請問是什么問題?
這個答案怎么樣?
ss
和sheet
分別是“sheet1”和“sheet2”的工作表 object。 並且, current_date
和current_value
分別從“Tracker”表上的“A2”和“B2”中檢索。
Running code tells me that I cannot getRange from null.
是“sheet2”的工作表名稱的工作表可能不包含在您的電子表格中。sheet.appendrow([current_date, current_value]);
用來。 所以你想把值放到“sheet2”或其他工作表的工作表中嗎? 關於這一點,我無法從你的問題中理解。appendrow
時,請修改為appendRow
。getValues()
檢索到的二維數組用作[current_date, current_value]
的值。 在這種情況下,即使將appendrow
修改為appendRow
,也會將[Ljava.lang.Object;@###
之類的值放入單元格中。Tracker:A2:B2
作為范圍。當以上幾點反映到您的腳本時,它變成如下。
請將目標工作表名稱設置為sheetName
。
function saveData() {
var sheetName = "###"; // Please set the destination sheet name.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var value = ss.getRange('Tracker!A2:B2').getValues();
ss.getSheetByName(sheetName).appendRow(value[0]);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.