2016-06-08 13 views
1

Wie erkennen und lösen Sie benutzerdefinierte Aktionen beim Öffnen eines bestimmten Blatts in einer Tabelle aus?Wie erkennt man den Blattwechsel eines Benutzers?

ich nicht ordnungsgemäße Funktion in https://developers.google.com/apps-script/guides/triggers/events

+0

Die Tags, die Sie gewählt haben nicht angemessen nutzen können, sind für diese Frage. Bitte lesen Sie [Was sind Tags und wie soll ich sie verwenden?] (// stackoverflow.com/help/tagging) – Mogsdad

Antwort

2

zu tun Polling als Mogsdad vorgeschlagen, dass Sie diesen Code in Ihren Sidebar (oder jedes UI-Element)

$(function() { 
    /** 
    * On document load, assign click handlers to each button and try to load the 
    * user's origin and destination language preferences if previously set. 
    */ 
    poll(); 
} 

function poll(interval){ 
    interval = interval || 2000; 
    setTimeout(function(){ 
    google.script.run.withSuccessHandler(loadSheetName) 
     .withFailureHandler(showError).getSheetName(); 
    poll(); 
    }, interval); 
}; 

function loadSheetName(sheetName) { 
    alert(sheetName); 
    } 

function getSheetName() { 
    google.script.run.withSuccessHandler(loadSheetName) 
     .withFailureHandler(showError).getSheetName(); 
    } 

Und in Ihrem .gs Code

function getSheetName() { 
var sheetName =   SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName(); 
return sheetName; 
} 
2

finden konnten, gibt es keine API auf Benutzerereignisse auszulösen vorgesehen, abgesehen von den in der Dokumentation, die Sie verknüpft haben.

Ich kann nur an eine Problemumgehung denken: Wenn Ihre Anwendung ein benutzerdefiniertes UI-Element, speziell eine Seitenleiste oder einen Dialog enthält, können Sie nach der aktiven Zelle suchen und daraus das aktive Blatt ermitteln.

Zuerst einen Blick auf How to poll a Google Doc from an add-on.

Verwandte Themen