質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

1回答

3456閲覧

GAS フォルダ内のそれぞれのファイルに,スプレッドシートのリストを使って,それぞれ別の編集権限をつけたい

sasakisasaki

総合スコア0

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2021/05/09 04:29

前提・実現したいこと

・GoogleWorkspaceを使用
・Googleドライブ フォルダ内のファイル名(A列)とリンク(B列)はスプレッドシートに取得済み
・例えば,C列・D列に編集権限を付与したいユーザーのアカウントを入れてGASを動かすことで権限を付与したい
・GASはなんとなく読めるけど書けないレベルです。コピーして若干変更して使えるくらいです。

ここに質問の内容を詳しく書いてください。
・いろいろと調べたのですが,テンプレートをコピーしてそれに編集権限を付与するものや,特定のアカウントのみに編集権限を与えるものだったため,求めている情報が得られませんでした。
スプレッドシートのリストを使って,ファイルごとにそれぞれ別のアカウントに編集権限を与えるコードを知りたいです。

そういうサイトがあればお知らせいただければ助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Google Apps Script(GAS)でスプレッドシートに編集権限・共有設定を付与する方法

ちょうどこの辺ですかね?

> テンプレートをコピーしてそれに編集権限を付与するもの

ここに関しては、テンプレをコピーしなくても、シートを指定してやれば問題ないと思います。

gas

1 2var ss = SpreadsheetApp.openById('***'); //権限を付与したいスプレッドシート 3ss.addEditor("test@gmail.com"); //権限の付与 4

あとは、これを記載されているスプレッドシートのリストにそって実行すればいいかと思います。

※内容の正確性についは未確認なので、一気にやらず一つのシートでうまくいくか試してみてください。
また、>GASはなんとなく読めるけど書けないレベル だとミスした場合の修正が難しいので、できれば先にGASの勉強をされた方が無難です。

gas

1 2function myfunc(){ 3var listSs = SpreadsheetApp.openById('***'); 4var listSheet = listSs.getSheetByName('***'); 5var listValue = listSheet.getDataRange().getValues(); //シートの値を全て取得 6 7 8listValue.forEach(e=>{ 9 10 //listValueの中の値を順番に取得 e の中に行の値が入ってます。イメージできなければfor(var i in 11 listValue)にするか、console.log(e)で構造を確認されるといいと思います。 12 13 var SsId = e[***] //SSのIDのインデックス 14 var userMail = e[***] //メールアドレスのインデックス 15 16 var ss = SpreadsheetApp.openById(SsId); //権限を付与したいスプレッドシート 17 ss.addEditor(userMail); //権限の付与 18 19 20}) 21} 22 23 24 25

投稿2021/05/15 02:20

Tatsunosuke

総合スコア599

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問