2017-03-10 8 views
0

Ich habe eine einfache Funktion, die einen Ordner auf Google Drive erstellt. Ich möchte den Namen darauf übertragen und von den Blättern aus ausführen. Aber mir wurde der Zugang verweigert. Wie löst man dieses Problem ohne Auslöser? DankeZugriff von Google Tabellen auf Google Drive

function myFunction() { 
    var folderName = "SEO"; 
    var folder=DriveApp.getFoldersByName(folderName).next(); 
    var fileName = "NewFolder"; 
    var file=SpreadsheetApp.create(fileName); 
    var copyFile=DriveApp.getFileById(file.getId()); 
    folder.addFile(copyFile); 
    DriveApp.getRootFolder().removeFile(copyFile);} 

Ergebnis:

enter image description here

+0

customFunctions muss frei von Nebenwirkungen sein, Sie [Menüpunkt] hinzufügen können (https://developers.google.com/apps-script/guides/menus) und den Namen des Ordners aus dieser Zelle –

Antwort

0

von Google Apps Script-Dokumentation:

Wenn Ihre benutzerdefinierte Funktion löst haben die Fehlermeldung „Sie haben keine Berechtigung X Dienst rufen . "erfordert der Dienst eine Benutzerautorisierung und kann daher nicht in einer benutzerdefinierten Funktion verwendet werden.

Die Lösung besteht darin, ein benutzerdefiniertes Menü für Ihre Tabelle zu erstellen und Ihre Funktion auszuführen, wenn Sie auf den Menüeintrag klicken.

function onOpen(){ 

    var ui = SpreadsheetApp.getUi(); 
    ui.createMenu('Menu') 
    .addItem('Menu item', 'yourFunc') 
    .addToUi(); 

    } 

function yourFunc(){ 

    //your code 

    } 

Ich hoffe, dies ist hilfreich.

+0

Dank bro lesen ! Jetzt müssen wir die volle Tiefe von Google-Blättern verstehen) – Miksser

Verwandte Themen