2012-06-20 3 views
3

Est-il possible de fermer une fenêtre d'interface utilisateur ouverte dans Apps Script?Google Apps Script Fermer()

Je pense que la réponse est non par: http://code.google.com/p/google-apps-script-issues/issues/detail?id=474&can=1&q=.close%28%29&colspec=Stars%20Opened%20ID%20Type%20Status%20Summary%20Component%20Owner

mais je voulais voir s'il y avait d'autres opinions.

J'ai une "fenêtre d'attente" qui apparaît, que je veux fermer lorsque l'activité est terminée.


var app = UiApp.getActiveApplication(); 

var ss = SpreadsheetApp.getActiveSpreadsheet(); 

var sheet = getSheetWithSubmissions(ss); 

// create UI app, this works fine 

app = createWaitPleaseUI(sheet); 

ss.show(app); 

//simulated activity 

Utilities.sleep(5000); 

//this doesn't work despite being in the documentation 

app.close(); 

pense que ce n'est pas possible mais souhaite Google serait le vider de leur documentation si elle ne peut pas être fait. Pour contourner ce problème, je peux faire apparaître une seconde interface graphique en disant "travail terminé, cliquez sur OK", puis cela fonctionne très bien.

Répondre

6

Vous devez renvoyer l'objet app pour que les modifications y soient mises à jour, même à la fermeture.

Changez votre dernière ligne à return app.close() à la place.

0

Vous devriez lire la documentation plus à fond, il est clairement expliqué que l'interface utilisateur dans les tableurs doit être terminée par un retour à la fermeture effective. Aussi je suggère que vous pouvez faire confiance à la réponse d'un contributeur supérieur au lieu de croire que vous avez toujours raison contre le doc et tout le monde ... aucune offense mais un peu d'humilité est toujours bienvenue :-)

ici est un morceau de code extrait du documentation à confirmer:

// Close everything return when the close button is clicked 
function close() { 
    var app = UiApp.getActiveApplication(); 
    app.close(); 
    // The following line is REQUIRED for the widget to actually close. 
    return app; 
} 
+1

Notez que la question que vous faites référence ne vous appliquez pas votre exemple: il s'agit de l'interface utilisateur autonome, et non dans une feuille de calcul UIs. –