2017-04-21 138 views
0

我對整個「腳本遊戲」有點新,我認爲這對大多數人來說都是小菜一碟。Google工作表腳本標籤顏色

無論如何,我想讓我的腳本更改特定的選項卡顏色,如果單元格A1的值爲1(打開表單顏色爲紅色)或0(將表單顏色爲空)。不要介意細胞5和6,他們正在按預期

這裏就是我有這麼遠,但作爲預期

function onEdit(e) { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var ss1 = SpreadsheetApp.getSheetByName("1"); 
var ss3 = SpreadsheetApp.getSheetByName("3"); 
var first = ss.getSheetByName("1"); 
var third = ss.getSheetByName("3"); 
var cell1 = ss.getRange("A1"); 
var cell3 = ss.getRange("A1"); 
var cellContent1 = cell1.getValue(); 
var cellContent3 = cell3.getValue(); 
var cell5 = ss.getRange("B2"); 
var cell6 = ss.getRange("C2"); 
cell5.setValue(Utilities.formatDate(new Date(), 'GMT+2', 'dd.MM.yyyy')); 
cell6.setValue(Utilities.formatDate(new Date(), 'GMT+2', 'HH:mm:ss')); 
    if (cellContent1 == 1) { 
first.setTabColor("ff0000"); 
    } 
    if (cellContent1 == 0) { 
first.setTabColor(null); 
    } 
    if (cellContent3 == 1) { 
third.setTabColor("ff0000"); 
    } 
    if (cellContent3 == 0) { 
third.setTabColor(null); 
    } 
} 
+0

這與excel沒有任何關係,請檢查您的標籤並進行適當標記,否則那些需要查看此標籤的人不會。 –

+0

對不起,現在已經改變。感謝提高 – Nemanja011

回答

0

在代碼中的變量單元1和2它不工作正在訪問同一個表(活動工作表)。從名爲1片和第3訪問該值你將不得不修改如以下代碼:

function onEdit(e) { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var first = ss.getSheetByName("1"); 
var third = ss.getSheetByName("3"); 
var cell1 = first.getRange("A1"); 
var cell3 = third.getRange("A1"); 
var cellContent1 = cell1.getValue(); 
var cellContent3 = cell3.getValue(); 
var cell5 = ss.getRange("B2"); 
var cell6 = ss.getRange("C2"); 
cell5.setValue(Utilities.formatDate(new Date(), 'GMT+2', 'dd.MM.yyyy')); 
cell6.setValue(Utilities.formatDate(new Date(), 'GMT+2', 'HH:mm:ss')); 
    if (cellContent1 == 1) { 
first.setTabColor("ff0000"); 
    } 
    if (cellContent1 == 0) { 
first.setTabColor(null); 
    } 
    if (cellContent3 == 1) { 
third.setTabColor("ff0000"); 
    } 
    if (cellContent3 == 0) { 
third.setTabColor(null); 
    } 
} 

還要注意我已刪除了未使用的或冗餘的一些行。

希望有幫助

+0

工程就像一個魅力。千謝謝你:) @傑克布朗 – Nemanja011

0

也許這會幫助你。

function tabColor() 
{ 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sht = ss.getActiveSheet(); 
var cell = sht.getActiveCell(); 
var cellContent = cell.getValue(); 
if (cellContent) 
{ 
    sht.setTabColor("ff0000"); 
} 
if (!cellContent) 
{ 
    sht.setTabColor("ffffff"); 
} 
}