Javascript 谷歌脚本:格式化数组中的URL。推送
我有一个工作脚本,在表单提交时,特定的行从一个工作表移动到另一个工作表。我正在推送的字段之一是url 在第二张纸上,链接被列出,它是超链接的,但它真的很难看,我真的想格式化它,使它显示“编辑”与超链接。我试过很多方法,但我的知识有限,所以我得到的都是错误。我希望有人能给我指出正确的方向 这是我的密码。我是个新手,所以剧本一点也不复杂。如有任何帮助/建议,将不胜感激Javascript 谷歌脚本:格式化数组中的URL。推送,javascript,arrays,google-apps-script,formatting,google-sheets,Javascript,Arrays,Google Apps Script,Formatting,Google Sheets,我有一个工作脚本,在表单提交时,特定的行从一个工作表移动到另一个工作表。我正在推送的字段之一是url 在第二张纸上,链接被列出,它是超链接的,但它真的很难看,我真的想格式化它,使它显示“编辑”与超链接。我试过很多方法,但我的知识有限,所以我得到的都是错误。我希望有人能给我指出正确的方向 这是我的密码。我是个新手,所以剧本一点也不复杂。如有任何帮助/建议,将不胜感激 function copyAdHoc(){ var ss = SpreadsheetApp.getActiveSpreadshe
function copyAdHoc(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = SpreadsheetApp.setActiveSheet(ss.getSheetByName("Form Responses 1"));
var data = sh.getRange(2, 1, sh.getLastRow() - 1, sh.getLastColumn()).getValues();
// Grab the Headers from master sheet
var headers = sh.getRange(1,1,1,sh.getLastColumn()).getValues();
var date = headers[0].indexOf('Effective Date');
var name = headers[0].indexOf('Employee Name');
var loc = headers[0].indexOf('Location');
var issue = headers[0].indexOf('Description/Question/Issue');
var add = headers[0].indexOf('Additional Information');
var change = headers[0].indexOf('Is this a Qualifying Life Event?');
var url = headers[0].indexOf('Form URL');
var category = headers[0].indexOf('Primary Category');
var status = headers[0].indexOf('Current Status');
var users = headers[0].indexOf('Users');
// Grab only the relevant columns
for(n = 0; n < data.length; ++n ) { // iterate in the array, row by row
if (data[n][change] !== "Yes" & data[n][category] !== "Employee Relations" & data[n][date] !== "") { // if condition is true copy the whole row to target
var arr = [];
arr.push(data[n][url]);
arr.push(data[n][users]);
arr.push(data[n][date]);
arr.push(data[n][loc]);
arr.push(data[n][name]);
arr.push(data[n][category]);
arr.push(data[n][issue] + ". " + data[n][add]);
arr.push(data[n][status]);
var sh2 = SpreadsheetApp.setActiveSheet(ss.getSheetByName("Ad Hoc")); //second sheet of your spreadsheet
sh2.getRange(sh2.getLastRow()+1,2,1,arr.length).setValues([arr]); // paste the selected values in the 2cond sheet in one batch write
}
}
}
函数copyAdHoc(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sh=SpreadsheetApp.setActiveSheet(ss.getSheetByName(“表单响应1”));
var data=sh.getRange(2,1,sh.getLastRow()-1,sh.getLastColumn()).getValues();
//从母版纸抓取标题
var headers=sh.getRange(1,1,1,sh.getLastColumn()).getValues();
var date=headers[0]。indexOf('生效日期');
var name=headers[0]。indexOf('Employee name');
var loc=headers[0]。indexOf('Location');
var issue=headers[0]。indexOf('Description/Question/issue');
var add=headers[0].indexOf(“附加信息”);
var change=headers[0]。indexOf('这是符合条件的生命事件吗?');
var url=headers[0]。indexOf('Form url');
var category=headers[0]。indexOf('Primary category');
var status=headers[0]。indexOf('Current status');
var users=headers[0]。indexOf('users');
//只抓取相关列
对于(n=0;nfunction getHyperlink(url)
{
return "=HYPERLINK(\""+url+"\","+"\"Edit\""+")";
}
function mainFunct()
{
//Do necessary steps
var tarLink = "https://www.google.com";
var tarRng = tarSheet.getRange(rowNum, colNum).setValue(getHyperlink(tarLink));
//perform other steps
}
编辑:
忘了提及,因为您正在将值推送到数组中。。。您可以通过类似的方式来实现,或者只是将超链接存储在变量中,或者像所有其他值一样直接将其推送到数组中。或者,如果您正在处理一个包含静态和动态部分的超链接,例如:post\u id
不断变化,但大多数URL是静态的,那么您只需将post\u id
传递给getHyperlink函数并获得所需的超链接,就可以轻松地处理它。希望这有帮助