স্ক্রিপ্ট ব্যবহার করে গুগল স্প্রেডশিটে একটি Google ফর্ম থেকে প্রতিক্রিয়াগুলি সম্পাদনা করতে ইউআরএল দেখান


11

আমি একটি Google ফর্মের সম্পাদনা URL তৈরি করার চেষ্টা করছি যা এটির সাথে সংযুক্ত Google শিটের প্রতিক্রিয়াটিতে স্বয়ংক্রিয়ভাবে পপুলেট হবে। আমি এটি ইতিমধ্যে দেখেছি এবং এটি ব্যবহার করতে চাই, তবে স্ক্রিপ্টটি ঠিক কোথায় রাখা উচিত তা জানার চেষ্টা করতে আমার সমস্যা হচ্ছে।

আমি এটিকে Google স্প্রেডশিটে স্ক্রিপ্ট সম্পাদকটিতে রাখার চেষ্টা করেছি যে আমি ইউআরএল উপস্থিত হতে চাই, তবে সেখান থেকে কোথায় যেতে হবে তা নিশ্চিত নয়। স্ক্রিপ্ট সম্পাদকটিতে আমি এটি অ্যাড-অন হিসাবে পরীক্ষা করার চেষ্টা করেছি কিন্তু এটি কাজ শেষ করে না।

স্ক্রিপ্ট এবং স্ক্রিপ্ট সম্পাদক সহ আমার গুগল পত্রিকায় খুব কম অভিজ্ঞতা আছে। চূড়ান্ত নোট হিসাবে আমি একই গুগল স্প্রেডশিটে অটোক্রেট নামে অন্য একটি অ্যাড-অন ব্যবহার করছি।


কোডটির উত্সের লিঙ্কটি ছাড়াও যে আপনি কোডটি এবং আপনার পরীক্ষাগুলি অনুসরণ করার পদক্ষেপগুলি অন্তর্ভুক্ত করার জন্য ভাল চেষ্টা করেছিলেন।
রুবন

উত্তর:


16

সংক্ষিপ্ত উত্তর

লিংক একটি Q & A- দুটি উত্তর কিন্তু অ তাদের আমার কাছে মনে হচ্ছে যে পয়েন্ট appropiate যাবে। IE উত্তরগুলির একটির কোড অসম্পূর্ণ এবং উভয়ই ইমেল প্রেরণ করে, তাই গ্রহণটি জটিল পয়েন্ট হিসাবে একটি প্রাথমিক পয়েন্ট হিসাবে ব্যবহার করা যায় না।

নীচে এমন একটি স্ক্রিপ্ট রয়েছে যা গ্রহণ করা সহজ।

নির্দেশনা

  1. একটি পরীক্ষার ফর্ম তৈরি করুন এবং ফর্ম আইডি নোট করুন ( url এর মধ্যে ../d/এবং এর /editমধ্যে)। নতুন ফর্ম

  2. নতুন স্প্রেডশিটে প্রতিক্রিয়া প্রেরণ করতে ফর্মটি সেট করুন। একটি স্প্রেডশিট সংযুক্ত করুন

  3. আপনাকে নতুন স্প্রেডশিটে পুনর্নির্দেশ করা হবে। উল্লেখ্য সক্রিয় পত্রক নাম (এটা নামান্তর যদি আপনি চান) এবং একটি যোগ হেডার প্রতিক্রিয়া URL গুলি সম্পাদন করা রাখা, অর্থাত্ ব্যবহার করা কলামে Edit Url। দ্রষ্টব্য: মূলধনটি খুব গুরুত্বপূর্ণ, সুতরাং আপনি কীভাবে এটি লিখছেন তা সম্পর্কে খুব সাবধানতা অবলম্বন করুন। প্রতিক্রিয়া স্প্রেডশীট

  4. Tools > Script editorস্প্রেডশিটে আবদ্ধ একটি গুগল অ্যাপস স্ক্রিপ্ট প্রকল্প যুক্ত করতে যান । স্প্রেডশিট স্ক্রিপ্ট

  5. নীচের কোডটি দিয়ে ডিফল্ট কোডটি প্রতিস্থাপন করুন (আপনার কেস অনুযায়ী গ্লোবাল ভেরিয়েবলগুলি সম্পাদনা করতে ভুলবেন না)। স্ক্রিপ্ট কোড

  6. প্রকল্পটি সংরক্ষণ করুন এবং তারপরে একটি ইনস্টলযোগ্য ফর্ম সামিট ট্রিগার যুক্ত করুন (যদি আপনি "অনুমোদনের প্রয়োজনীয়" ডায়ালগ পান তবে "অনুমতিগুলি পর্যালোচনা করুন" এবং তারপরে "অনুমতি দিন" ক্লিক করুন)। ফর্ম জমা ট্রিগার

  7. সমাধানটি পরীক্ষা করতে কিছু নমুনা প্রতিক্রিয়া জমা দিন।

কোড

/*
 * Global Variables
 */

// Form URL
var formURL = 'https://docs.google.com/forms/d/form-id/viewform';
// Sheet name used as destination of the form responses
var sheetName = 'Form Responses 1';
/*
 * Name of the column to be used to hold the response edit URLs 
 * It should match exactly the header of the related column, 
 * otherwise it will do nothing.
 */
var columnName = 'Edit Url' ;
// Responses starting row
var startRow = 2;

function getEditResponseUrls(){
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues(); 
  var columnIndex = headers[0].indexOf(columnName);
  var data = sheet.getDataRange().getValues();
  var form = FormApp.openByUrl(formURL);
  for(var i = startRow-1; i < data.length; i++) {
    if(data[i][0] != '' && data[i][columnIndex] == '') {
      var timestamp = data[i][0];
      var formSubmitted = form.getResponses(timestamp);
      if(formSubmitted.length < 1) continue;
      var editResponseUrl = formSubmitted[0].getEditResponseUrl();
      sheet.getRange(i+1, columnIndex+1).setValue(editResponseUrl);
    }
  }
}

অতিরিক্ত সম্পদ

আমি প্রশ্নোত্তর থেকে লিখিত সামগ্রীর সংক্ষিপ্তসার তৈরি করেছি । এই খ / সি আমি কোড লেখার শেষ ব্যবহারকারীদের মধ্যে আরও ভালভাবে সহযোগিতা করার উপায়গুলি অন্বেষণ করছি।


1
আমি এটি পেয়েছি, এটি শীটের নাম ছিল এবং আমি ইউআরএল শেষে '/ ভিউফর্ম' নিয়েছিলাম। অনেক ধন্যবাদ!
নিক

1
@ রুবুন - আমি নিজের দুর্দান্ত টিউটোরিয়ালটিতে কিছুটা বিশদ যুক্ত করার স্বাধীনতা নিয়েছি, কারণ আমি নিজে যখন তা অনুসরণ করেছি তখন কয়েকটি পদক্ষেপের সাথে লড়াই করেছি।
স্পিনএক্সএক্সএক্স

1
ঠিক আছে. আমি কোডটি পরিবর্তন করার মূল কারণটি হ'ল ভবিষ্যতে গুগলের URL ফর্ম্যাট পরিবর্তনের ক্ষেত্রে আপনি পুরো URL FormApp.openById()টির পরিবর্তে কেবল ফর্ম আইডি ব্যবহার করতে পারবেন show FormApp.openByUrl()আমি এর পরিবর্তে আপনার টুকরোতে একটি মন্তব্য করব।
স্পিনএক্সএক্সএক্স

3
আমার গুগল স্ক্রিপ্ট উইন্ডোতে, "বর্তমান প্রকল্পের ট্রিগার" "সম্পাদনা" এর অধীনে ছিল।
ডিভিবি

1
@HoangTrinh দেখুন canEditResponse ()
রুবেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.