[英]How could you retrieve a range of user highlighted cells in Google Sheets using Google Apps Script?
[英]Google App script sheets - How to get the highlighted range and write data to it
我想將從我自己的函數生成的數據寫入用戶的突出顯示單元格。 它應該能夠獲取單個單元格和多個單元格的亮點。
if(isNaN(text))
ui.alert('Input is not a number');
else{
var sheet = SpreadsheetApp.getActiveSheet();
var activeRangeList = sheet.getActiveRangeList();
if(activeRangeList==null)
ui.alert('No range selected');
else{
var rgMyRange = sheet.getRange("B1:B10");
rgMyRange.setValue(myFunc(NumberOfRowsHighlighted,parseInt(text)))
}
}
我希望用戶突出顯示一個范圍,當腳本運行時,我需要獲取突出顯示的行數以及要傳遞給 myfunc 的輸入數。 該函數始終生成一個大小與突出顯示行數相同的數組。 最后,我希望能夠使用 ffunction 返回的數組寫回突出顯示的單元格。
myfunct 的樣本返回
[1,2,3,...,100]
我很難閱讀文檔,因為 google 並沒有真正定義什么是 Range 或 RangeList 以及返回數據的示例。 因此,如果有人可以幫助我,將不勝感激。
我已經解決了,使用不同的對象和函數,和第一個有點相似
var sheet = SpreadsheetApp.getActiveSheet();
var selection = sheet.getSelection();
if(selection.getActiveRange().getA1Notation()==null)
ui.alert('No range selected');
else{
var range = SpreadsheetApp.getActiveSpreadsheet().getRange(selection.getActiveRange().getA1Notation());
range.setValues(GENERATEGROUP(10,parseInt(text)));
}
我不確定函數GENERATEGROUP(10,parseInt(text))
輸出什么,但這里有一個解決方案,它寫入活動范圍內的每個單元格的行和列編號(即用戶選擇)
//es6-V8
function writeActiveRange() {
const ss=SpreadsheetApp.getActive();
const sh=ss.getActiveSheet();
const rg=sh.getActiveRange();
let v=rg.getValues();
const row=rg.getRow();
const col=rg.getColumn();
v.forEach(function(r,i){r.forEach(function(c,j){v[i][j]=`Row:${row+i},Col:${col+j}`;});});
rg.setValues(v);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.