تقنية

كيفية استبدال النصوص والارتباطات التشعبية في مستندات Google باستخدام برنامج Apps Script


كتيب الشركة مكتوب في مستندات Google. تمتد المستند إلى عدة صفحات ، وقد طُلب من الكاتب الآن إنشاء روابط مثل أن جميع إشارات اسم الشركة في المستند ترتبط بموقع الشركة الرسمي.

يمكن أن تكون مهمة تستغرق وقتًا طويلاً ولكن مع برنامج Google Apps Script ، يمكن ربط كلمات محددة في المستند بكميات كبيرة بنقرة واحدة.

يوضح هذا المثال كيفية البحث واستبدال جميع حوادث عبارة النص واسم الشركة في هذه الحالة ، وإضافة روابط إلى موقع ويب معين.

const addLinks = () => {
  const searchPhrase = 'Digital Inspiration';
  const hyperlink = 'https://digitalinspiration.com/';

  const document = DocumentApp.getActiveDocument();
  const body = document.getBody();
  let search = null;

  while ((search = body.findText(searchPhrase, search))) {
    const searchElement = search.getElement();
    const startIndex = search.getStartOffset();
    const endIndex = search.getEndOffsetInclusive();
    searchElement.asText().setLinkUrl(startIndex, endIndex, hyperlink);
  }

  document.saveAndClose();
};

بالنسبة للتكرار التالي للكتيب ، تغير اسم الشركة ولكن مجال الموقع هو نفسه. يُطلب من الكاتب تغيير كل مثيل لاسم الشركة في المستند ولكن لا ينبغي تعديل الارتباط التشعبي الأساسي ..

const changeText = () => {
  const searchText = 'Blue Widgets Inc.';
  const replaceText = 'Orange Inc.';

  const document = DocumentApp.getActiveDocument();
  const body = document.getBody();
  let search = null;

  while ((search = body.findText(searchText, search))) {
    const searchElement = search.getElement();
    const startIndex = search.getStartOffset();
    const endIndex = search.getEndOffsetInclusive();

    const textElement = searchElement.asText();
    const existingLink = textElement.getLinkUrl(startIndex);
    textElement.deleteText(startIndex, endIndex);
    textElement.insertText(startIndex, replaceText);
    textElement.setLinkUrl(startIndex, startIndex + replaceText.length - 1, existingLink);
  }

  document.saveAndClose();
};

يوضح مقتطفات Script Apps Next Apps كيفية تغيير كل مثيل اسم الشركة وأيضًا استبدال عنوان URL للموقع باسم مجال آخر.

const changeTextWithUrl = () => {
  const searchText = 'Blue Widgets Inc.';
  const replaceText = 'Orange Inc.';
  const replaceUrl = 'https://digitalinspiration.com/';

  const document = DocumentApp.getActiveDocument();
  const body = document.getBody();
  let search = null;

  while ((search = body.findText(searchText, search))) {
    const searchElement = search.getElement();
    const startIndex = search.getStartOffset();
    const endIndex = search.getEndOffsetInclusive();

    const textElement = searchElement.asText();
    textElement.deleteText(startIndex, endIndex);
    textElement.insertText(startIndex, replaceText);
    textElement.setLinkUrl(startIndex, startIndex + replaceText.length - 1, replaceUrl);
  }

  document.saveAndClose();
};



Source link

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى