Google Dokümanlar'ın kapsamını genişletme

Google Apps Komut Dosyası, Google Dokümanlar'ı programlı bir şekilde oluşturmanıza ve Ayrıca kullanıcı arayüzünü yeni menüler, iletişim kutuları kenar çubukları.

Temel bilgiler

Apps Komut Dosyası, Google Dokümanlar ile iki genel şekilde etkileşim kurabilir: herhangi bir komut dosyası komut dosyasının kullanıcısı ilgili doküman için uygun izinlere sahipse bir doküman oluşturabilir veya dokümanı değiştirebilirsiniz. bir komut dosyası da bağlıdır. Bu işlem, kullanıcı arayüzünü değiştirmek veya dokümanı açar. Google Dokümanlar'dan kapsayıcıya bağlı bir komut dosyası oluşturmak için Uzantılar > Apps Komut Dosyası'nı tıklayın.

Her iki durumda da, bir Google Dokümanlar dokümanı ile kolayca etkileşimde bulunmak için Apps Komut Dosyası'nın Document Service (Belge Hizmeti) gösteriyor.

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);
}

Yukarıdaki komut dosyası, kullanıcının Google Drive'ında yeni bir doküman oluşturur, ardından t.0 kimliğine sahip sekmeyi (varsayılan ilk sekme) alır, bir paragraf ekler dokümanın adını içeren bir metin, başlığı içerir ve iki boyutlu bir dizideki değerlere dayalı bir tablo ekler. İlgili içeriği oluşturmak için kullanılan komut dosyası, mevcut bir dokümanda bu değişiklikleri çağrı DocumentApp.create() ile değiştiriliyor DocumentApp.openById() ile veya openByUrl(). Bir doküman içinde oluşturulan komut dosyaları (kapsayıcıya bağlı) için DocumentApp.getActiveDocument() ve Document.getActiveTab().

Bir belgenin yapısı

Apps Komut Dosyası açısından bir Google Dokümanlar dokümanı bir HTML belgesine benzer. Yani bir doküman, bir veya daha fazla dokümandan Her biri şunları içeren Tab nesne öğeler (ör. Paragraph veya Table) öğeler. Bir Google Dokümanlar dokümanında değişiklik yapan çoğu komut dosyası, getTab() ve asDocumentTab() ve ardından getBody(), çünkü Body temel öğe hariç bir sekmedeki diğer tüm öğeleri içeren HeaderSection, FooterSection ve herhangi bir Footnotes.

Ancak hangi öğe türlerinin diğer türleri içerebileceğiyle ilgili kurallar vardır. Ayrıca, Apps Komut Dosyası'ndaki Belge Hizmeti yalnızca başka öğelere dönüştürmenizi sağlar. Aşağıdaki ağaçta, öğeler, belirli bir öğe türünde barındırılabilir.

Kalın yazı tipiyle gösterilen öğeler eklenebilir. kalın olmayan öğeler yalnızca manipüle edilmiş olmalıdır.

Metin değiştiriliyor

Google Dokümanlar'da metin değiştirmek için genellikle Apps Komut Dosyası kullanılır. Diyelim ki müşteri bilgileriyle dolu bir e-tablonuz varsa ve kişiselleştirilmiş bir Google Dokümanlar'ı kullanabilirsiniz. (Bu tür işlemlere genellikle posta denir merge.)

Metin değiştirmenin birçok yolu vardır ancak en basit olanı replaceText() yönteminin kullanıldığından emin olun. replaceText, çoğu öğeyi destekliyor gibi çeşitli normal ifade özelliklerinden yararlanabilirsiniz. Aşağıdaki ilk işlev Google Dokümanlar'a birkaç satır yer tutucu metin ekler; gerçek dünyada, yer tutucuları dokümana sizin girmeniz daha olasıdır. İlgili içeriği oluşturmak için kullanılan ikinci fonksiyon, yer tutucuları client nesne algılandı.

Bu işlevlerin ikisinin de getActiveDocument() ve getActiveTab() Yalnızca bir Google Dokümanlar dokümanında oluşturulan komut dosyaları için geçerli olan yöntemler; bağımsız bir komut dosyasında DocumentApp.create() openById(), veya openByUrl() Document.getTab() ile birlikte .

Yer tutucu ekleyin

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

Yer tutucuları değiştirme

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);
}

Özel menüler ve kullanıcı arayüzleri

Google Dokümanlar'ı düzenlemek için menüler, iletişim kutuları kenar çubukları. Bununla birlikte, bir komut dosyasının yalnızca belli bir dosya için kullanıcı arayüzüyle açık bir dokümanın mevcut örneğini içerir ve yalnızca bağlı olacaktır.

Özel menülerin nasıl ekleneceğini ve iletişim kutularını Google Dokümanlar'a ekleyin. Bir iletişim kutusu veya kenar çubuğu için özel arayüzler oluşturma hakkında daha fazla bilgi için HTML Hizmeti kılavuzu. Özel arayüzünüzü eklentiyi öğrenmek için stil kılavuzu ile tutarlı olması için stiline ve düzenine dikkat edin.

Google Dokümanlar eklentileri

Eklentiler, Google Dokümanlar'ın içinde çalışır ve yüklenebilir Google Dokümanlar eklenti mağazasından indirin. Google Dokümanlar için bir komut dosyası geliştirdiyseniz ve bunu tüm dünyayla paylaşmak isterseniz Apps Komut Dosyası, komut dosyanızı bir eklenti olarak kullanabilirsiniz.

Google Dokümanlar için eklenti oluşturma hakkında bilgi edinmek üzere Dokümanlar eklentileri oluşturma hızlı başlangıç kılavuzu sayfasına göz atın.

Tetikleyiciler

Bir Google'a bağlı komut dosyaları Doküman, yanıt vermek için basit bir tetikleyici kullanabilir dokümanın onOpen etkinliğine doküman için düzenleme erişimi olan bir kullanıcı dokümanı Google Dokümanlar'da açtığında gerçekleşir.

Tetikleyiciyi ayarlamak için onOpen() adlı bir işlev yazmanız yeterlidir. Örneğin, Google Workspace'te özel menüler bölümünü inceleyin. Basit tetikleyici, menüleri eklemek için kullanışlı olsa da, herhangi bir Uygulama kullanamaz. Yetkilendirme gerektiren komut dosyası hizmetleri.