2017-02-16 14 views
1

特定のユーザー向けにGoogleシートを条件付きでフォーマットしたい。基本的に、教師#1の編集内容は黄色で、教師#2は緑色で表示されます。残念ながら、シートの「条件付き書式設定」ツールにはこのオプションはありません。特定の細胞を保護することは、エディタの変更の規則性のためには機能しません。私はエディタを見たいだけで、制限しません。もう一つの提案は、 "Revision History"オプションを使うことです。しかし、これはいくつかのシートを使って数ヶ月にわたる特定のエディタの変更を見つけるのには現実的ではないようです(いくつかのエディタがアクセスできます)。Googleシート:特定のユーザーの編集を強調表示

私は、電子メール(すべてのユーザーがログインする必要があります)を取得し、最後の編集を強調表示するOnEditトリガーを持つ機能を持っていたと考えていました。

Here is the URL for a public Google Sheet I duplicated。そこに、あなたは多くの週のシートの1つを見るでしょう。次に、各ユーザー(教師)に関連付けられる色のコントロールパネルがあります。

another StackOverflow forumから一部のスクリプトをコピーして開始しました。

function setActiveUser() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getActiveSheet(); 

    // GET EMAIL ADDRESS OF ACTIVE USER 
    var email = Session.getActiveUser().getEmail(); 
    Logger.log(email); 

    //HIGHLIGHT LAST EDITED CELL BASED ON OF ACTIVE USER'S PREDETERMINED COLOR 
    sheet.getRange(here is where I need to locate last edited cell).setBackgroundColor("here is where I need to color it based on the "Control Panel" sheet colors"); 

うまくいけば、いつかはGoogleが条件付き書式のこの種のを許可しますが、その間に、それは、ラテンアメリカの私の学校トンを支援します。

ありがとうございました!

答えて

1

あなたのコードの最初の行は次のようになります。

function onEdit() { 

と最後の行はこのようなものでなければなりません:(編集)

//HIGHLIGHT LAST EDITED CELL BASED ON OF ACTIVE USER'S PREDETERMINED COLOR 
    var teacherName = ss.getRangeByName("TeacherName").getValues().map(function(array) { return array[0]; }); 
    var teacherColor = ss.getRangeByName("TeacherColor").getValues().map(function(array) { return array[0]; }); 
    var nameIdx = teacherName.indexOf(email); 
    if(nameIdx > -1) 
    sheet.getActiveCell().setBackground(teacherColor[nameIdx]); 

それは働い取得するには、最初に実行する必要がありますコードをスクリプトエディタで開き、それを承認します。 TeacherNameTeacherColorはあらかじめ名前付き範囲に設定する必要があります。試験シートはhereです。

+0

Sangbok、編集後にテストシートがハイライト表示されるのはいいですが、みんなの編集内容が黄色で表示されているようです。特定の人の編集内容を特定の色で表示させることを希望しました。 「コントロールパネル」のタブには、6人の教師のリストがあることがわかります。 "先生#1"の代わりに、私は先生の電子メールを持っていました。私が望むのは、誰がシートを編集しているのかを見て、教師#2が作成した場合は黄色の編集を強調するvlookupタイプのスクリプトを実行することです(ただし、電子メールアドレスは "Teacher# –

+0

@AaronSmithコードを修正しました。テストシートで試してみてください。 –

関連する問題