我試圖更改此腳本以搜索日期(現在)並在工作表中爲找到的日期着色。在工作表中找到日期併爲其添加顏色
原稿;
function findThis(val) {
var data = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
var searchStr = "Foo";
Logger.log(res);
var res = findValue(data, searchStr);
if (res != null) {
Browser.msgBox("Found in row " + res[0] + ", column " + res[1]);
}
}
function findValue(data, obj) {
for (var i = 0; i < data.length; i++) {
for (var j = 0; j < data[i].length; j++) {
if (data[i][j] == obj) {
return [i, j];
}
}
}
return null;
}
我的試驗和錯誤的腳本;我想嘗試getA1Notation() 我做錯了,但stil學習和嘗試,也許你可以幫助。
function findThis(val) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // toevoeging
var data = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
var Today = new Date();
var date = Utilities.formatDate(Today,"GMT+100","dd-M-yyyy");
Logger.log(date)
var searchStr = date;
var res = findValue (data, searchStr);
if (res != null) {
Logger.log(res);
Logger.log(res[0]+", "+res[1]);
var Range = (res[0]+", "+res[1]);
var x = (res[0]+", "+res[1]);
//var C = range.getColumnIndex(res);
var range = Range.getA1Notation()
Logger.log(range);
var value = sheet.getRange([x]).getValue(); //toegevoegd
Logger.log(value);
Logger.log(x);
sheet.getRange(x).setBackgroundColor('Yellow');
Browser.msgBox("Found in row " + res[0] + ", column " + res[1]);
}
}
function findValue(data, obj) {
for (var i = 0; i < data.length; i++) {
for (var j = 0; j < data[i].length; j++) {
if (data[i][j] == obj) {
return [(i+1), (j+1)];
}
}
}
電子表格中的日期是真實日期嗎?這意味着你可以從菜單中更改他們的表示形式如果是這種情況,那麼find函數永遠不會返回任何東西,因爲日期是具有小時,分鐘,秒和甚至毫秒的「完整」日期對象!除此之外,您嘗試定義範圍的方式無效......但我會在發佈答案之前等待您的答案。 –
不,日期格式爲dd-M-yyyy。上面的腳本找到了日期的正確位置。但de位置格式爲行5.0列16.0,我必須改變它。 – Lightingben