前提・実現したいこと
Googleフォームを複数コピーし、コピーしたフォームの公開URLをそれぞれスプレッドシートに反映したいです。
発生している問題・エラーメッセージ
フォームを複数コピーするところまでは上手くいきますが、公開URLの取得ができず、下記のエラーが表示されてしまいます。解決方法を教えてください。
恐らく、オブジェクトが違う?(fileとform)からかなと思っているのですが、解決方法が見つかりません。
エラーメッセージ
TypeError: copyform.getPublishedUrl is not a function ```ここに言語名を入力 ソースコード
試したこと
function copyforms(){
var mySheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("*************");
var rowSheet = mySheet.getDataRange().getLastRow(); //
var form1 = FormApp.openByUrl("----------------------");
for(var i=2;i<=rowSheet;i++){
var formTitle = mySheet.getRange(i,1).getValue();
var folderId = mySheet.getRange(i,2).getValue();
var folder = DriveApp.getFolderById(folderId);
var file = DriveApp.getFileById(form1.getId());
var copyform = file.makeCopy(formTitle,folder);
var formURL = copyform.getPublishedUrl();
mySheet.getRange(i,3).setValue(formURL);
}
補足情報(FW/ツールのバージョンなど)
makeCopyでは公開URL取得できない場合は、一旦適当なファイルに格納し、
再度フォルダの中にあるフォームの公開URLを取得し、スプレッドシートに反映させるということを考えているのですが、こちらも上手くいきません(フォーム自体のURLは取ることができましたが、公開URL(getPublishedUrl)部分でエラーになってしまいます。)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/03/23 12:42
2021/03/24 08:33