我需要測試給定的電子表格單元格是否使用粗體字體。這是我的腳本代碼。Google電子表格腳本 - 如何測試單元格是否粗體
function ifBold(cell, val1, val2) {
if(cell.getFontWeight() == 'bold')
return val1;
return val2;
}
它錯誤,告訴我'單元'沒有函數getFontWeight()。我該如何做這項工作?
我需要測試給定的電子表格單元格是否使用粗體字體。這是我的腳本代碼。Google電子表格腳本 - 如何測試單元格是否粗體
function ifBold(cell, val1, val2) {
if(cell.getFontWeight() == 'bold')
return val1;
return val2;
}
它錯誤,告訴我'單元'沒有函數getFontWeight()。我該如何做這項工作?
您必須將該單元格作爲字符串傳遞。 ifBold(「A1」,1,0)
function ifBold(a1Notation, val1, val2) {
var cell = SpreadsheetApp.getActiveSpreadsheet().getRange(a1Notation);
if(cell.getFontWeight() == 'bold')
return val1;
return val2;
}
如果在細胞或範圍通過而不發送作爲一個字符串,那麼將被接收爲一個字符串或陣列,分別。它將無法作爲Range對象進行處理。有關更多信息,請參見以下鏈接:
http://code.google.com/p/google-apps-script-issues/issues/detail?id=354
How do I pass a cell argument from a spreadsheet to a custum function as a range?
編輯:
要寫入的方式,是動態的功能,它需要使用內置函數行和列。
= ifBold(ROW(A1),COLUMN(A1),1,0)
function ifBold(row, column, val1, val2) {
var range = SpreadsheetApp.getActiveSpreadsheet().getDataRange().getCell(row, column);
if(range.getFontWeight() == 'bold')
return val1;
return val2;
}
getFontWeight()是範圍的函數,所以只要你正在傳遞給你的函數上面是Range對象(sheet.getRange(...)),它應該工作:
https://developers.google.com/apps-script/reference/spreadsheet/range
這是一個腳本,它會爲您在每一個元素是否是大膽與否:
function ifBold() {
var sheet = SpreadsheetApp.getActive().getSheetByName('Bold');
var cells = sheet.getRange('A2:A');
for (var i=1; i <= cells.getNumRows(); i++) {
var isBold = false;
if(cells.getCell(i, 1).getFontWeight() == 'bold')
isBold = true;
sheet.getRange(i+1, 2).setValue(isBold);
}
}
見例如:
https://docs.google.com/spreadsheet/ccc?key=0AmR0r1Y14zgydG03QS1Dd0dLRDA3SWgtLXp6TzV3d3c#gid=3
如何計算一排粗體?不能得到它甚至計算A1)錯誤 – Kangarooo 2014-06-04 22:29:22