• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Google Form soru ve seçenekleri Google Sheet ile değiştirmek

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,042
Excel Vers. ve Dili
2013 Türkçe
Arkadaşlar merhaba,
Linkte basit bir form hazırladım. Birinci bölümde sadece sorular değişiyor, cevap seçenekleri aynı. İkinci bölümde soru aynı cevap seçenekleri farklı.
Youtube'da izledim uyarlamaya çalıştım ama başaramadım. Yapabilirsek çalışmam için çok önemli bir aşama kaydedeceğim. Zamandan büyük oranda tasarruf edeceğim.
Ben Google Sheet üzerinde soru ve cevapları değiştirdiğimde formun otomatik olarak değişmesini istiyorum.
 
Ornek sayfa oluşturun.
Ornek form oluşturun.

Deneyin
Kod:
function DropdownOrnek() {
var form = FormApp.openById('13kK8lZrwerewrwrtw_w');
form.setTitle('Aşağıdaki Soruları Cevaplayınız?')
    .setDescription('Test')
    .setConfirmationMessage('Test bitti!')
    .setAllowResponseEdits(true)
var evet = SpreadsheetApp.getActiveSheet().getRange('B12').getValue();
var hayir = SpreadsheetApp.getActiveSheet().getRange('B13').getValue();
var soru1 = SpreadsheetApp.getActiveSheet().getRange('B1').getValue();
var soru2 = SpreadsheetApp.getActiveSheet().getRange('C1').getValue();
// Adds a dropdown list to the form.
const item = form.addListItem();
const item2 = form.addListItem();
//Soru
item.setTitle(soru1);

// Yardımcı açıklama
//item.setHelpText('Bu soruda sizden......');

// Seçenekler
item.setChoices([
  item.createChoice(evet),
  item.createChoice(hayir)
 
]);
item.setRequired(true);

//////////////////////////////////////////////////////////////////////
item2.setTitle(soru2);

// Yardımcı açıklama
//item.setHelpText('Bu soruda sizden......');

// Seçenekler
item2.setChoices([
  item2.createChoice(evet),
  item2.createChoice(hayir)
 
]);
 item2.setRequired(true);

}

function DropdownTemizle() {


const form = FormApp.openById('13kK13kK8lZrwerewrwrtw_w');

const items = form.getItems();

const index = items.findIndex(item => item.getType() === FormApp.ItemType.LIST);
if (index !== -1) {
  form.deleteItem(index);
}


    }

Daha fazlası için buraya bakın.

 
Hocam çok teşekkür ederim. İnceleyeceğim. Bu dosya benim için çok önemli. İnceledikten sonra geri dönüş yapacağım.
 
Hocam excele yeni başladığım günler geldi aklıma. Baya karmaşık geliyor bilmeyince. Açılır listede belirli aralığı almak istiyorsak ne gibi değişiklik yapmamız gerekiyor. Örneğin açılır listedeki verileri sheet sayfası C1:C10 arasından almak istesek?
 
Kodu her çalıştırdığımda soru eklemesi yapıyor. Bunu yapmaması gerekiyor! Sadece soruları değiştirmeli.
 
Deneyin.

Kod:
function YeniForm(){
clearForm() // Önceki soruları siler
  //const ss = SpreadsheetApp.getActive().getActiveSheet();
   const ss =SpreadsheetApp.getActive().getSheetByName("Sayfa1");
  const questionList = ss.getRange("C1:C10").getValues();

  const form = FormApp.openById('1uYR6V0NGYdpCsDU'); // Önce boş form oluşturun idsini buraya yapiştırın

  questionList.forEach( (question) => {
    const item = form.addListItem().setChoiceValues([("Evet"), ("Hayır")])
    item.setTitle(question[0])
    item.setRequired(true);
   
  })


  Logger.log('Published URL: ' + form.getPublishedUrl());
  Logger.log('Editor URL: ' + form.getEditUrl());

}


function clearForm(){
  var form = FormApp.openById('1uYpCsDU'); // Önce boş form oluşturun idsini buraya yapiştırın
  var items = form.getItems();
  while(items.length > 0){
    form.deleteItem(items.pop());
  }
}
 
Hocam bu kez oldu ama 2 eksik kaldı gibi.
const item = form.addListItem().setChoiceValues([("Evet"), ("Hayır")]) Burdaki Evet, Hayır değerini sütundan alabilir mi? 50 ye yakın açılır menü olacak.

2. sorumda D2:D5 aralığında seçenek (MultipleChoice) şıklar şeklinde ekleyebilir miyiz?
 
Hocam özelden form göndermiştim. Bakma şansınız var mı? Kodlar kullanıcı girişinin olduğu bölümü de siliyor. O kısım ayrı bir bölümde. Kullanıcı adı kısmını silmemesi gerekiyor. Orda her kullanıcı tanımlanmış kod IDsi var.
 
Geri
Üst