スプレッドシートのメニューからアクセスできるようにするには、2 つの別個のフォームが必要です。いくつかのトラブルの後、Mogsdad からこの素晴らしい回答を見つけました: Single Google Form for multiple Sheets
htmlservice を使用してフォームを uiapp に埋め込むために彼のコードを使用しました。したがって、私のコードは彼のように見えます:
function launchTecForm() {
var TecformID = '1_some_form_ID';
var Tecform = FormApp.openById(TecformID);
var TecformUrl = Tecform.getPublishedUrl();
var response = UrlFetchApp.fetch(TecformUrl);
var formHtml = response.getContentText();
var htmlApp = HtmlService
.createHtmlOutput(formHtml)
.setTitle('Tec-Response')
.setWidth(500)
.setHeight(450);
SpreadsheetApp.getActiveSpreadsheet().show(htmlApp);
}
したがって、このコードは約 2 ~ 3 週間前までは完全に機能していましたが (正確には言えません)、それ以降は、google-apps にログインするためのログイン プロンプトが表示されるか、サーバー エラーが返されます。フォームは公開に設定されているため、ログインする必要はありません。最後に、ログインも機能しません。Cookie を許可する必要があるためです (ブラウザの設定で許可されています。html サービスは Cookie へのログインを処理できないと思います)。
では、スクリプトを再び機能させるにはどうすればよいでしょうか。私は何も変更していませんが、Mogsdad からの回答のコードと同じです。