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,014
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.
 
Katılım
20 Şubat 2012
Mesajlar
242
Excel Vers. ve Dili
office2007 Türkçe
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.

 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,014
Excel Vers. ve Dili
2013 Türkçe
Hocam çok teşekkür ederim. İnceleyeceğim. Bu dosya benim için çok önemli. İnceledikten sonra geri dönüş yapacağım.
 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,014
Excel Vers. ve Dili
2013 Türkçe
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?
 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,014
Excel Vers. ve Dili
2013 Türkçe
Kodu her çalıştırdığımda soru eklemesi yapıyor. Bunu yapmaması gerekiyor! Sadece soruları değiştirmeli.
 
Katılım
20 Şubat 2012
Mesajlar
242
Excel Vers. ve Dili
office2007 Türkçe
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());
  }
}
 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,014
Excel Vers. ve Dili
2013 Türkçe
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?
 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,014
Excel Vers. ve Dili
2013 Türkçe
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.
 
Üst