2 回答

TA貢獻1995條經(jīng)驗 獲得超2個贊
有兩種選擇。
您可以將特定單元格的值轉(zhuǎn)換為大寫(如問題標題所建議的那樣)或?qū)卧穹秶鷥?nèi)的每個單元格的值轉(zhuǎn)換為大寫(如問題正文所建議的那樣) .
解決方案:
如果要將A3的內(nèi)容轉(zhuǎn)為大寫:
function sortColumn() {
var spreadsheet = SpreadsheetApp.getActive();
var range = spreadsheet.getActiveSheet().getRange('A3');
var value = range.getValue();
range.setValue(value.toString().toUpperCase());
};
如果要將A3:G995中每個單元格的內(nèi)容轉(zhuǎn)為大寫:
function sortColumn() {
var spreadsheet = SpreadsheetApp.getActive();
var range = spreadsheet.getActiveSheet().getRange('A3:G995');
var value = range.getValues();
var valueCap=value.map(val => val.map(v=>v.toString().toUpperCase()));
range.setValues(valueCap);
};

TA貢獻2012條經(jīng)驗 獲得超12個贊
問題:
range.getValue()
文檔說
返回區(qū)域中左上角單元格的值。
因此,其余的單元格將被忽略。
解決方案:
改用getValues()
并遞歸使用?map將所有值更改為大寫并使用setValues(arr)
示例腳本:
const values = range.getValues();
const func = e => Array.isArray(e) ? e.map(func) : String(e).toUpperCase();
range.setValues(func(values))
有關的:
范圍方法 getValues() 返回和 setValues() 接受什么?
const values = /*Mock getValues*/ [['a','b'],['c','d']];
const func = e => Array.isArray(e) ? e.map(func) : String(e).toUpperCase();
const output = func(values);
console.info(output);
添加回答
舉報