2015-10-21 19 views
6

पर डुप्लिकेट फॉर्म प्रतिक्रियाएं मुझे अपने Google फॉर्म को दो अलग-अलग चादरों में सहेजने की आवश्यकता है।दो Google शीट्स को प्रोग्रामेटिक रूप से

पहली शीट इतिहास के लिए एक होगी और दूसरा लॉजिस्टिक सेवाओं द्वारा शोषण किया जाएगा (जो ग्राहकों को भेजे गए सामान प्राप्त करते समय कुछ पंक्तियां हटा सकते हैं)।

मुझे वास्तव में पहली प्रतिक्रिया पर सभी प्रतिक्रियाओं को रखने की आवश्यकता है जो लॉजिस्टिक सेवाएं दूसरे पर करती हैं।

तथ्य यह है कि; मैं formRat का उपयोग कर रहा था, लेकिन अब और काम नहीं कर रहा है और मुझे कोई पूरक मॉड्यूल नहीं दिख रहा है जो बिल्कुल वही काम करता है। मैं अपने आप से स्क्रिप्ट लिखने के लिए प्रोग्रामिंग में काफी अच्छा नहीं हूं।

मैं दूसरी चादर में यह लिखने का प्रयास किया:

=ArrayFormula('first_sheet_name'!A:W) 

लेकिन जब मैं दूसरी चादर पर एक पंक्ति को हटाने का प्रयास है, यह कुछ ही सेकंड बाद में, क्योंकि Google शीट यह पुनर्गणना पुन: दिखाई देता।

+0

यहां एक नया Google फॉर्म ऐड-ऑन [फ़ॉर्म एड-ऑन लिंक] है (https://chrome.google.com/webstore/detail/data-director-for-forms/bjlicikmbfbjckkgemmiddonmigijpbj?authuser=0) –

उत्तर

2

फ़ॉर्म प्रतिक्रिया स्प्रेडशीट से जुड़ी एक फॉर्म सबमिशन ट्रिगर स्क्रिप्ट आसानी से दूसरी शीट पर प्रतिक्रियाओं को कॉपी कर सकती है, जैसे वे पहुंचते हैं। दूसरी शीट पर बाद में किए गए कोई भी संशोधन जीवित रहेगा।

यहां का एक बहुत ही सरल उदाहरण है। आपको स्प्रेडशीट 2 की शीट आईडी के साथ ss2ID घोषित करने की आवश्यकता है। स्क्रिप्ट मानती है कि स्प्रेडशीट 2 में पहली शीट में प्रतिक्रियाओं की प्रतिलिपि बनाई जानी चाहिए, और सभी फॉर्म उत्तर आबादी वाले हैं।

function copyResponse(event) { 
    fixFormEvent(event); // From https://stackoverflow.com/a/26975968/1677912 
    var ss2Id = "---sheet-id---"; 
    var sheet2 = SpreadsheetApp.openById(secondSheetId).getSheets()[0]; 
    sheet2.appendRow([event.values]); 
} 

इस समारोह e.values in google forms skips empty answers, is there a workaround? से fixFormEvent(event) का उपयोग करता है मूल प्रश्नों के साथ नई शीट align में स्तंभों सुनिश्चित करने के लिए।

संबंधित मुद्दे