2017-05-31 9 views
0

Googleクイズのアイテムをあるフォームから別のフォームにコピーしようとしていますが、これは完全に成功したようです。しかし、これらのアイテムには画像が付いていることが忘れられました。ここでGoogleクイズフォーム間で画像をコピーする

は、これらにアクセスする方法を提案する文書が、私は項目とItem.asMultipleChoiceItemからのgetImageの両方を試してみましたが、どちらも認識されているものは何もありませんlink to an example quiz.

です。これは動作していないコードの最後の2行だけです。

私は TypeError例外を取得: または はTypeErrorオブジェクト項目内の関数のgetImageを見つけることができません:オブジェクトにMultipleChoiceItemを関数のgetImageを見つけることができません

function copyMultipleChoiceItem(item1, item2) { 
// copies MC question item1 to item2 - tested PDW 17/05/20 
// copy of feedback now working - tested PDW 17/05/30 
// 
    var item1MC = item1.asMultipleChoiceItem(); 
// basic question items 
    item2.setTitle(item1.getTitle()); 
    item2.setHelpText(item1.getHelpText()); 
    item2.setPoints(item1MC.getPoints()); 
    item2.setRequired(item1MC.isRequired()); 

// the choices 
    var choices = item1MC.getChoices(); 
    for (var i = 0; i < choices.length; i++) { 
     item2.createChoice(choices[i].getValue(),choices[i].isCorrectAnswer()); 
    } 
    item2.setChoices(choices); 
// the feedback 
    var feedback1 = item1MC.getFeedbackForCorrect(); 
    item2.setFeedbackForCorrect(feedback1); 
    var feedback1 = item1MC.getFeedbackForIncorrect(); 
    item2.setFeedbackForIncorrect(feedback1); 
// the image 
    var image1 = item1.getImage(); 
    item2.setImage(image1); 
} 

Here's a picture of the image which is attached to the MultipleChoiceItem, not an ImageItem in its own right

答えて

0

あなたITEM1がImageItemであることを確認し、私は」あなたのコードにテストスクリプトベースを作成しました。ここでは抜粋です:ここでは

function myFunction() { 
    // Create and open a form. 
var newForm = FormApp.create('Form Name'); 
var img = UrlFetchApp.fetch('https://www.google.com/images/srpr/logo4w.png'); 

var pageTwo = newForm.addPageBreakItem().setTitle('Page Two'); 
var newImage = newForm.addImageItem() 
    .setTitle('Google') 
    .setHelpText('Google Logo') // The help text is the image description 
    .setImage(img); 
var pageThree = newForm.addPageBreakItem().setTitle('Page Three'); 
    var img2 = newForm.addImageItem(); 
    ImageCopy(newImage,img2); 
} 

function ImageCopy(itemImage,img2){ 
    var image1 = itemImage.getImage(); 
    img2.setImage(image1); 
} 

は結果である:

enter image description here

enter image description here

は、この情報がお役に立てば幸いです。

+0

ありがとうございますが、イメージはMultipleChoiceItemにアタッチされているため、ImageItem自体ではありません。元の投稿に画像を追加して意味をなさないようにします。 –

+0

質問2のコードを追加することはできますか? –

+0

私はそこに画像が入ったクイズのポストにリンクを追加しました。私はあなたがこれでどこにでも行くことができるなら、本当に興味があるでしょう。 –

関連する問題