Google ডক্স প্রসারিত করা হচ্ছে

গুগল অ্যাপস স্ক্রিপ্ট আপনাকে প্রোগ্রাম্যাটিকভাবে গুগল ডক্স তৈরি এবং সংশোধন করতে দেয়, পাশাপাশি নতুন মেনু, ডায়ালগ বক্স এবং সাইডবার সহ ইউজার ইন্টারফেসটি কাস্টমাইজ করতে দেয়।

মূল বিষয়গুলি

অ্যাপস স্ক্রিপ্ট দুটি বিস্তৃত উপায়ে গুগল ডক্সের সাথে ইন্টারঅ্যাক্ট করতে পারে: যেকোনো স্ক্রিপ্ট একটি ডকুমেন্ট তৈরি বা পরিবর্তন করতে পারে যদি স্ক্রিপ্টের ব্যবহারকারীর ডকুমেন্টের জন্য উপযুক্ত অনুমতি থাকে, এবং একটি স্ক্রিপ্ট একটি ডকুমেন্টের সাথেও আবদ্ধ হতে পারে, যা স্ক্রিপ্টকে ইউজার ইন্টারফেস পরিবর্তন করার বা ডকুমেন্ট খোলার সময় প্রতিক্রিয়া জানাতে বিশেষ ক্ষমতা দেয়। গুগল ডক্সের মধ্যে থেকে একটি কন্টেইনার-বাউন্ড স্ক্রিপ্ট তৈরি করতে, এক্সটেনশন > অ্যাপস স্ক্রিপ্ট ক্লিক করুন।

উভয় ক্ষেত্রেই, Apps Script এর Document Service এর মাধ্যমে Google Docs ডকুমেন্টের সাথে ইন্টারঅ্যাক্ট করা সহজ, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে।

function createDoc() {
  var doc = DocumentApp.create('Sample Document');
  var documentTab = doc.getTab('t.0').asDocumentTab();
  var body = documentTab.getBody();
  var rowsData = [['Plants', 'Animals'], ['Ficus', 'Goat'], ['Basil', 'Cat'], ['Moss', 'Frog']];
  body.insertParagraph(0, doc.getName())
      .setHeading(DocumentApp.ParagraphHeading.HEADING1);
  table = body.appendTable(rowsData);
  table.getRow(0).editAsText().setBold(true);
}

উপরের স্ক্রিপ্টটি ব্যবহারকারীর গুগল ড্রাইভে একটি নতুন ডকুমেন্ট তৈরি করে, তারপর ID t.0 (ডিফল্ট প্রথম ট্যাব) সহ ট্যাবটি পুনরুদ্ধার করে, ডকুমেন্টের নামের মতো একই টেক্সট ধারণকারী একটি অনুচ্ছেদ সন্নিবেশ করায়, সেই অনুচ্ছেদটিকে শিরোনাম হিসাবে স্টাইল করে এবং একটি দ্বি-মাত্রিক অ্যারেতে মানগুলির উপর ভিত্তি করে একটি টেবিল যুক্ত করে। স্ক্রিপ্টটি সহজেই একটি বিদ্যমান ডকুমেন্টে এই পরিবর্তনগুলি করতে পারে DocumentApp.create() এর কলটি DocumentApp.openById() বা openByUrl() দিয়ে প্রতিস্থাপন করে। একটি ডকুমেন্টের ভিতরে তৈরি স্ক্রিপ্টগুলির জন্য (কন্টেইনার-বাউন্ড), DocumentApp.getActiveDocument() এবং Document.getActiveTab() ব্যবহার করুন।

একটি নথির গঠন

অ্যাপস স্ক্রিপ্টের দৃষ্টিকোণ থেকে, একটি গুগল ডক্স ডকুমেন্ট অনেকটা HTML ডকুমেন্টের মতোই গঠন করা হয়—অর্থাৎ, একটি ডকুমেন্ট এক বা একাধিক Tab অবজেক্ট দিয়ে তৈরি, যার প্রতিটিতে এমন উপাদান থাকে (যেমন একটি Paragraph বা Table ) যা প্রায়শই অন্যান্য উপাদান ধারণ করে। বেশিরভাগ স্ক্রিপ্ট যা গুগল ডক্স ডকুমেন্ট পরিবর্তন করে তা getTab() এবং asDocumentTab() এ কল দিয়ে শুরু হয় এবং তারপরে getBody() আসে, কারণ Body হল একটি মূল উপাদান যা HeaderSection , FooterSection , এবং যেকোনো Footnotes ছাড়া ট্যাবের অন্যান্য সমস্ত উপাদান ধারণ করে।

তবে, কোন ধরণের উপাদানে অন্য ধরণের উপাদান থাকতে পারে সে সম্পর্কে কিছু নিয়ম রয়েছে। তাছাড়া, অ্যাপস স্ক্রিপ্টের ডকুমেন্ট সার্ভিস কেবলমাত্র নির্দিষ্ট ধরণের উপাদান অন্যান্য উপাদানের মধ্যে সন্নিবেশ করতে পারে। নীচের ট্রিটি দেখায় যে কোন উপাদানগুলি একটি নির্দিষ্ট ধরণের উপাদান দ্বারা ধারণ করা যেতে পারে।

মোটা অক্ষরে দেখানো উপাদানগুলি সন্নিবেশ করা যেতে পারে; অ-মোটা উপাদানগুলি কেবল স্থানেই ম্যানিপুলেট করা যেতে পারে।

  • সমীকরণ প্রতীক
  • টেক্সট
  • পাদটীকা
  • অনুভূমিক নিয়ম
  • ইনলাইনড্রয়িং
  • ইনলাইন ইমেজ
  • পেজব্রেক
  • টেক্সট
  • অনুচ্ছেদ
  • সমীকরণ
  • সমীকরণ ফাংশন
  • সমীকরণ ফাংশন ...
  • সমীকরণ ফাংশন আর্গুমেন্ট সেপারেটর
  • সমীকরণ প্রতীক
  • টেক্সট
  • সমীকরণ প্রতীক
  • টেক্সট
  • পাদটীকা
  • অনুভূমিক নিয়ম
  • ইনলাইনড্রয়িং
  • ইনলাইন ইমেজ
  • পেজব্রেক
  • টেক্সট
  • টেবিল
  • টেবিল সারি
  • টেবিলসেল
  • অনুচ্ছেদ ...
  • তালিকা আইটেম ...
  • টেবিল ...
  • বিষয়বস্তুর তালিকা
  • অনুচ্ছেদ ...
  • তালিকা আইটেম ...
  • টেবিল ...
  • হেডার বিভাগ
  • তালিকা আইটেম
  • অনুভূমিক নিয়ম
  • ইনলাইনড্রয়িং
  • ইনলাইন ইমেজ
  • টেক্সট
  • অসমর্থিত উপাদান (পৃষ্ঠা নম্বর, ইত্যাদি)
  • অনুচ্ছেদ
  • অনুভূমিক নিয়ম
  • ইনলাইনড্রয়িং
  • ইনলাইন ইমেজ
  • টেক্সট
  • অসমর্থিত উপাদান (পৃষ্ঠা নম্বর, ইত্যাদি)
  • টেবিল
  • টেবিল সারি
  • টেবিলসেল
  • অনুচ্ছেদ ...
  • তালিকা আইটেম ...
  • টেবিল ...
  • পাদলেখ বিভাগ
  • তালিকা আইটেম
  • অনুভূমিক নিয়ম
  • ইনলাইনড্রয়িং
  • ইনলাইন ইমেজ
  • টেক্সট
  • অসমর্থিত উপাদান (পৃষ্ঠা নম্বর, ইত্যাদি)
  • অনুচ্ছেদ
  • অনুভূমিক নিয়ম
  • ইনলাইনড্রয়িং
  • ইনলাইন ইমেজ
  • টেক্সট
  • অসমর্থিত উপাদান (পৃষ্ঠা নম্বর, ইত্যাদি)
  • টেবিল
  • টেবিল সারি
  • টেবিলসেল
  • অনুচ্ছেদ ...
  • তালিকা আইটেম ...
  • টেবিল ...
  • পাদটীকাঅংশ
  • তালিকা আইটেম
  • অনুভূমিক নিয়ম
  • টেক্সট
  • অনুচ্ছেদ
  • অনুভূমিক নিয়ম
  • টেক্সট
  • টেক্সট প্রতিস্থাপন করা হচ্ছে

    গুগল ডক্সে টেক্সট প্রতিস্থাপনের জন্য প্রায়শই অ্যাপস স্ক্রিপ্ট ব্যবহার করা হয়। ধরুন আপনার কাছে ক্লায়েন্ট তথ্যে ভরা একটি স্প্রেডশিট আছে এবং আপনি প্রতিটি ক্লায়েন্টের জন্য একটি ব্যক্তিগতকৃত গুগল ডক্স তৈরি করতে চান। (এই ধরণের অপারেশনকে প্রায়শই মেল মার্জ বলা হয়।)

    টেক্সট প্রতিস্থাপনের অনেক উপায় আছে, কিন্তু সবচেয়ে সহজ পদ্ধতি হল replaceText() পদ্ধতি যা নীচের উদাহরণে দেখানো হয়েছে। replaceText জাভাস্ক্রিপ্টের বেশিরভাগ রেগুলার এক্সপ্রেশন বৈশিষ্ট্য সমর্থন করে। নীচের প্রথম ফাংশনটি একটি Google Docs-এ প্লেসহোল্ডার টেক্সটের বেশ কয়েকটি লাইন যোগ করে; বাস্তব জগতে, আপনি নিজেই ডকুমেন্টে প্লেসহোল্ডার টাইপ করার সম্ভাবনা বেশি থাকবে। দ্বিতীয় ফাংশনটি client অবজেক্টে সংজ্ঞায়িত বৈশিষ্ট্য দিয়ে প্লেসহোল্ডারগুলিকে প্রতিস্থাপন করে।

    মনে রাখবেন যে এই দুটি ফাংশনই getActiveDocument() এবং getActiveTab() পদ্ধতি ব্যবহার করে, যা শুধুমাত্র Google Docs ডকুমেন্টের ভিতরে তৈরি স্ক্রিপ্টের ক্ষেত্রে প্রযোজ্য; একটি স্বতন্ত্র স্ক্রিপ্টে, DocumentApp.create() , openById() , অথবা openByUrl() ব্যবহার করুন, Document.getTab() এর সাথে মিলিতভাবে।

    কিছু স্থানধারক যোগ করুন

    function createPlaceholders() {
      var body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody();
      body.appendParagraph('{name}');
      body.appendParagraph('{address}');
      body.appendParagraph('{city} {state} {zip}');
    }

    স্থানধারকগুলি প্রতিস্থাপন করুন

    function searchAndReplace() {
      var body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody();
      var client = {
        name: 'Joe Script-Guru',
        address: '100 Script Rd',
        city: 'Scriptville',
        state: 'GA',
        zip: 94043
      };
    
      body.replaceText('{name}', client.name);
      body.replaceText('{address}', client.address);
      body.replaceText('{city}', client.city);
      body.replaceText('{state}', client.state);
      body.replaceText('{zip}', client.zip);
    }

    কাস্টম মেনু এবং ব্যবহারকারী ইন্টারফেস

    আপনি মেনু, ডায়ালগ বক্স এবং সাইডবার যোগ করে গুগল ডক্স কাস্টমাইজ করতে পারেন। তবে মনে রাখবেন যে, একটি স্ক্রিপ্ট শুধুমাত্র একটি খোলা নথির বর্তমান উদাহরণের জন্য UI এর সাথে ইন্টারঅ্যাক্ট করতে পারে, এবং শুধুমাত্র যদি স্ক্রিপ্টটি নথির সাথে আবদ্ধ থাকে।

    আপনার Google ডক্সে কাস্টম মেনু এবং ডায়ালগ কীভাবে যোগ করবেন তা দেখুন। ডায়ালগ বা সাইডবারের জন্য কাস্টম ইন্টারফেস তৈরি সম্পর্কে আরও জানতে, HTML পরিষেবার নির্দেশিকাটি দেখুন। যদি আপনি আপনার কাস্টম ইন্টারফেসটি একটি অ্যাড-অনের অংশ হিসাবে প্রকাশ করার পরিকল্পনা করেন, তাহলে Google ডক্স সম্পাদকের স্টাইল এবং লেআউটের সাথে সামঞ্জস্যের জন্য স্টাইল নির্দেশিকাটি অনুসরণ করুন।

    গুগল ডক্সের জন্য অ্যাড-অন

    অ্যাড-অনগুলি Google Docs-এর ভিতরে চলে এবং Google Docs অ্যাড-অন স্টোর থেকে ইনস্টল করা যেতে পারে। যদি আপনি Google Docs-এর জন্য একটি স্ক্রিপ্ট তৈরি করে থাকেন এবং এটি বিশ্বের সাথে ভাগ করে নিতে চান, তাহলে Apps Script আপনাকে আপনার স্ক্রিপ্টটি অ্যাড-অন হিসেবে প্রকাশ করতে দেয় যাতে অন্যান্য ব্যবহারকারীরা অ্যাড-অন স্টোর থেকে এটি ইনস্টল করতে পারেন।

    গুগল ডক্সের জন্য কীভাবে অ্যাড-অন তৈরি করবেন তা জানতে, ডক্স অ্যাড-অন তৈরির জন্য দ্রুত শুরু দেখুন।

    ট্রিগার

    গুগল ডক-এর সাথে আবদ্ধ স্ক্রিপ্টগুলি ডকুমেন্টের onOpen ইভেন্টে সাড়া দেওয়ার জন্য একটি সাধারণ ট্রিগার ব্যবহার করতে পারে, যা তখনই ঘটে যখন কোনও ব্যবহারকারী যার ডকুমেন্টে সম্পাদনা অ্যাক্সেস আছে তিনি গুগল ডকসে এটি খোলেন।

    ট্রিগার সেট আপ করতে, কেবল onOpen() নামক একটি ফাংশন লিখুন। এই ট্রিগারের উদাহরণের জন্য, Google Workspace-এ কাস্টম মেনু দেখুন। যদিও সাধারণ ট্রিগারটি মেনু যোগ করার জন্য কার্যকর, এটি এমন কোনও অ্যাপস স্ক্রিপ্ট পরিষেবা ব্যবহার করতে পারে না যার জন্য অনুমোদনের প্রয়োজন হয়।