我對javascript很感興趣,並嘗試在Google電子表格和郵件中使用Mail Merge功能。我複製了教程腳本並做了一些必要的修改(至少我能想到)。但是當我試圖運行腳本時,我得到了TypeError:無法從null讀取屬性「length」。 (第43行)TypeError:無法從null讀取屬性「length」
上面提到的43行是for循環。有人可以幫助讓我知道要修復什麼,所以我可以運行腳本?
// Replaces markers in a template string with values define in a JavaScript data object.
// Arguments:
// - template: string containing markers, for instance ${"Column name"}
// - data: JavaScript object with values to that will replace markers. For instance
// data.columnName will replace marker ${"Column name"}
// Returns a string without markers. If no data is found to replace a marker, it is
// simply removed.
function fillInTemplateFromObject(template, data) {
var email = template;
// Search for all the variables to be replaced, for instance ${"Column name"}
var templateVars = template.match(/\$\{\"[^\"]+\"\}/g);
// Replace variables from the template with the actual values from the data object.
// If no value is available, replace with the empty string.
for (var i = 0; i < templateVars.length; ++i) {
// normalizeHeader ignores ${"} so we can call it directly here.
var variableData = data[normalizeHeader(templateVars[i])];
email = email.replace(templateVars[i], variableData || "");
}
return email;
}
嗯...對不起,我希望我知道更多關於javascript的信息,但我不知道。我不太明白如何檢查它。 – user1755506
你知道如何編寫'for'循環而不是'if'語句嗎?查看更新的答案。 – Barmar
我從Google文檔中提取了該腳本。 :)需要調整它來滿足我的要求。有問題調整。對不起... – user1755506