簡體   English   中英

setBackgroundRGB不接受功能爭論

[英]setBackgroundRGB not accepting function arguements

我要做什么

在Google工作表中創建一個函數,允許我選擇一個單元格並輸入“ = rgbcolour”,選擇3個包含0到255之間數字的單獨的單元格作為rgb值,這樣我輸入“ = rgbcolour”的單元格就會變成根據3個獨立的rgb輸入輸入適當的顏色

我的研究

setBackGroundRGB不接受字符串此人遇到了同樣的錯誤,他無法獲得期望的結果,所使用的方法以及對該問題的解決方案

這個在GAS中不起作用的setBackground()或setFontColor幫助我嘗試找出如何將要輸入該函數的單元格傳遞到setBackgroundRGB方法中。 我最終使用了var cell = sheet.getActiveCell(); 盡管我在這項工作中可能沒有成功,但可能會導致我的問題

我一直在使用https://developers.google.com/apps-script/guides/sheets/functions#using_a_custom_function作為指南

這是我的代碼

function RGBCOLOUR(r,g,b)
{
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var cell = sheet.getActiveCell();

  return cell.setBackgroundRGB(r,g,b);
}

這是我的錯誤

找不到方法setBackgroundRGB((class),(class),(class))。 (第7行,文件“ RGB彩色單元”)

這將是不可能的。 根據文檔,自定義函數只能返回值。 不操縱格式。

https://developers.google.com/apps-script/guides/sheets/functions#return_values

如果我錯了,請有人糾正我,以便我可以學習新的東西。

好的,看到框架中不支持我要執行的操作,這是我使用的代碼

function onEdit()
{
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var range = sheet.getRange("A3:R3");
  var colours = sheet.getRange("A4:R4");

  for (var x=1; x < range.getNumColumns(); x=x+3)
  {
    var cell = colours.getCell(1,x);
    var r = range.getCell(1,x).getValue();
    var g = range.getCell(1,x+1).getValue();
    var b = range.getCell(1,x+2).getValue();

    cell.setBackgroundRGB(r,g,b);
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM