You can call getFormUrl
on the Spreadsheet, and on each Sheet of the Spreadsheet:
let ss = SpreadsheetApp.getActiveSpreadsheet();
let sheets = ss.getSheets();
for (let sheet of sheets) {
let sheetName = sheet.getName();
let formUrl = sheet.getFormUrl();
Logger.log("formUrl1 %s %s", sheetName, formUrl);
if (formUrl) {
Logger.log("formid1 %s", FormApp.openByUrl(formUrl).getId());
}
}
let formUrl = ss.getFormUrl();
Logger.log("formUrl2 %s", formUrl);
if (formUrl) {
Logger.log("formid2 %s", FormApp.openByUrl(formUrl).getId());
}
In my case, the spreadsheet was created by a form (in the Answers section, the green spreadsheet icon), and formUrl2 refers to this form. The formUrl1 of one of the sheets relates also to this form, because this sheet contains the answers of the form. Another sheet has the url of a second Form, because I connected the second form to the same spreadsheet. A third sheet has null as formUrl, because it is not related to a form.