2017-03-10 22 views
0

Googleドライブにフォルダを作成する簡単な機能があります。私はそれに名前を転送し、シートからそれを実行したい。しかし、私はアクセスが拒否されています。どのようにトリガーなしでこの問題を解決するには?ありがとうGoogleシートからGoogleドライブへのアクセス

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);} 

結果:

のGoogle Appsスクリプトのドキュメントからenter image description here

+0

customFunctionsは副作用がなければなりません。[メニュー項目](https://developers.google.com/apps-script/guides/menus)を追加して、そのセルからフォルダの名前を読むことができます –

答えて

0

カスタム関数は、エラーメッセージをスローした場合、「あなたはXサービスを呼び出すためのアクセス許可がありません

。 "、サービスは、ユーザーの許可を必要とし、これカスタム関数で使用することはできません。

解決策は、スプレッドシート用のカスタムメニューを作成し、メニュー項目をクリックして機能を実行することです。

function onOpen(){ 

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

    } 

function yourFunc(){ 

    //your code 

    } 

希望します。

+0

おかげで! 今、私たちは、Googleのシートの全深さを理解する必要があります) – Miksser

関連する問題