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

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

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

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

Google Apps Script

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

Q&A

0回答

239閲覧

開発者以外のIDだとスプレッドのカスタムメニューがうまく実行されない

hidewo

総合スコア0

Google スプレッドシート

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

Google Apps Script

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

0グッド

0クリップ

投稿2020/05/19 04:17

編集2020/05/19 04:30

前提・実現したいこと

GASにてdoGet()の中で
・スプレッドを作成(実際は作成してますが、サンプルは固定にしています。作成場所は開発者のドライブ内で共有しています)
・スプレッドの起動時のトリガーを設定
・Webにてスプレッドを表示
を行っています。

起動時のトリガーとはカスタムメニューを追加するもの(addMenu)で、
カスタムメニューはシンプルにA1セルに「メニュー押した」と値をセットするもの(sendShonin)です。
open.htmlはもらったurlをhrefで表示しています。

開発者のIDで実行するとカスタムメニューが動くのですが、他者のIDで実行するとカスタムメニュー押下後
「スクリプトを実行しています」のまま完了しません。

スクリプトのWebアプリケーションとして導入は
・次のユーザーとしてアプリケーションを実行:自分
・アプリケーションにアクセスできるユーザー:組織の全員
を設定しています。

シンプル過ぎて何か設定が足りないのか、権限の問題なのかわかりません。

どなたかわかる方教えていただけませんでしょうか。
よろしくお願い致します。

発生している問題・エラーメッセージ

「スクリプトを実行しています」のまま完了になりません。

該当のソースコード

function doGet(e) {
ScriptApp.newTrigger("addMenu").forSpreadsheet("スプレッドのID").onOpen().create();

var temp = HtmlService.createTemplateFromFile('open');
temp.title = 'テスト';
temp.msg = 'スプレッドを開いています・・・';
temp.url = 'https://docs.google.com/spreadsheets/d/' + "スプレッドのID";
return temp.evaluate();
}
function addMenu() {
var ui = SpreadsheetApp.getUi();
var menu = ui.createMenu('カスタムメニュー');
menu.addItem('追加されたメニュー', 'sendShonin');
menu.addToUi();
}
function sendShonin() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var form_sheet = ss.getSheetByName("シート1");
form_sheet.getRange('A1').setValue("メニュー押した");
}

試したこと

スクリプト内で起動時のトリガー(addMenu)を追加せずに、元々のスプレッドで直接、起動時のトリガーをセットしてカスタムメニューを追加した場合は、上手く動きました。
ですので、スクリプト内でトリガーを追加すると上手くいかないように思えます。

※追記
直接とは元々のスプレッドのスクリプトにaddMenuとsendShoninを貼り付けて、トリガー画面で設定しました。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問