先ほど「papinianus」さんに教わりながら一括で複数のスプレッドシートを作成し、
それぞれのスプレッドシートに異なった権限を付与することが出来ましたが、
今回は、一括で「テンプレート」シートから複数のスプレッドシートにコピーし、
各スプレッドシートに異なった権限を付与する方法を知りたいです。
GASの構成を考えたのですが、どのように組み立てたらがいいのかわからず・・
どなたかご教示ください。
大変初心的な質問で申し訳ございません。
何とぞよろしくお願いいたします。
// SS作成 function createSheet(){ //スプレッドシート設定 var ss = SpreadsheetApp.openById('1gmOo8kzMg-5Kir2f75HnhWFCzTRzZRqhi5Zaj8eVYTU') var sheet = ss.getSheetByName("ファイル名・権限付与者"); var range = sheet.getRange('A:A').getValues(); var LastRow = range.filter(String).length; //二次元配列を設定 var objArray = (sheet.getDataRange().getValues()) for(var i = 1;i < objArray.length;i++){ Logger.log(objArray[i][0]); //SS生成 var mySS = SpreadsheetApp.create(objArray[i][0]) //SS権限付与① if(objArray[i][1]){ mySS.addCollaborator(objArray[i][1]); } //SS権限付与② if(objArray[i][2]){ mySS.addCollaborator(objArray[i][2]); } //SS権限付与③ if(objArray[i][3]){ mySS.addCollaborator(objArray[i][3]); } //SS_URL転記 sheet.getRange(i + 1 ,5).setValue(mySS.getUrl()); } }
名前書かれた質問は初めて拝見しました。https://teratail.com/questions/154944のSheetCopySample1とhttps://teratail.com/questions/155371のcreateSheet_testを組み合わせるだけのように思いますが、どこが分からないのでしょうか。もちろん組み合わせるといったってそれなりに順序は考える必要はあるでしょうが、この2つができてて、組み合わせだけができないっていうのが分からないです。逆にこの2つの組み合わせ方の助言が欲しいなら、どういうスプレッドシートがあってそれぞれどういうシートを含むのかなど詳細が必要だと思います。
分かりづらかったようで申し訳ありません。おっしゃる通り2つの質問を組み合わせることで完成しましたが、こちらを実行した結果、何も記載されていないスプレッドシートに権限が付与されることで完成しました。そこで、新たに、例えば請求書を作ったシートをテンプレートとして、このテンプレートをコピーして新たにスプレットシート作成、そこにファイル名と権限付与をつけたい(コード部分「var sheet = ss.getSheetByName("ファイル名・権限付与者");」)のですが、「テンプレート」シートからコピーさせる方法が分かりません。
best選択するか自己解決してください
回答2件
あなたの回答
tips
プレビュー