Google E-Tablolar Makroları

Google E-Tablolar, tanımladığınız belirli bir kullanıcı arayüzü etkileşimi dizisini kopyalayan makroları kaydetmenize olanak tanır. Bir makro kaydettikten sonra, bu makroyu Ctrl+Alt+Shift+Number biçiminde bir klavye kısayoluna bağlayabilirsiniz. Tam makro adımlarını genellikle farklı bir yerde veya farklı verilerde hızlıca tekrar yürütmek için bu kısayolu kullanabilirsiniz. Makroyu Google E-Tablolar Uzantılar > Makrolar menüsünden de etkinleştirebilirsiniz.

Bir makro kaydettiğinizde, Google E-Tablolar otomatik olarak makro adımlarını çoğaltan bir Apps Komut Dosyası işlevi (makro işlevi) oluşturur. Makro işlevi, macros.gs başlıklı bir dosyadaki, sayfaya bağlı bir Apps Komut Dosyası projesine eklenir. Bu ada sahip sayfaya bağlı bir proje dosyasının bulunması halinde makro işlevi bu dosyaya eklenir. Google E-Tablolar ayrıca komut dosyası projesi manifestini otomatik olarak güncelleyerek makroya atanan adı ve klavye kısayolunu kaydeder.

Kaydedilen her makro tamamen Apps Komut Dosyası'nda tanımlandığından bunları doğrudan Apps Komut Dosyası düzenleyicisinde düzenleyebilirsiniz. Hatta Apps Komut Dosyası'nda sıfırdan makro yazabilir veya önceden yazdığınız işlevleri alıp makroya dönüştürebilirsiniz.

Apps Komut Dosyası'nda makro oluşturma

Apps Komut Dosyası'nda yazılan işlevleri alıp makro işlevleri olarak kullanabilirsiniz. Bunu yapmanın en kolay yolu, Google E-Tablolar düzenleyicisinden mevcut bir işlevi içe aktarmaktır.

Alternatif olarak, aşağıdaki adımları uygulayarak Apps Komut Dosyası düzenleyicisinde makro oluşturabilirsiniz:

  1. E-Tablolar kullanıcı arayüzünde, Uzantılar > Apps Komut Dosyası'nı seçerek Apps Komut Dosyası düzenleyicisinde sayfaya bağlı komut dosyasını açın.
  2. Makro fonksiyonunu yazın. Makro işlevleri, bağımsız değişken almamalı ve değer döndürmemelidir.
  3. Makroyu oluşturmak ve makro işlevine bağlamak için komut dosyası manifestinizi düzenleyin. Özel bir klavye kısayolu ve ad atayın.
  4. Komut dosyası projesini kaydedin. Böylece makro, sayfada kullanılabilir.
  5. Amaçlandığı gibi çalıştığını doğrulamak için sayfadaki makro işlevini test edin.

Makroları düzenleme

Bir sayfaya ekli makroları aşağıdaki işlemleri yaparak düzenleyebilirsiniz:

  1. Google E-Tablolar kullanıcı arayüzünde Uzantılar > Makrolar > Makroları yönet'i seçin.
  2. Düzenlemek istediğiniz makroyu bulun ve > Makroyu düzenle'yi seçin. Bu işlem, Apps Komut Dosyası düzenleyicisini makro işlevini içeren proje dosyasını açar.
  3. Makro davranışını değiştirmek için makro işlevini düzenleyin.
  4. Komut dosyası projesini kaydedin. Böylece makro, sayfada kullanılabilir.
  5. Amaçlandığı gibi çalıştığını doğrulamak için sayfadaki makro işlevini test edin.

İşlevleri makro olarak içe aktarma

Bir sayfaya bağlı bir komut dosyası zaten varsa komut dosyasındaki bir işlevi yeni makro olarak import ve ardından bu işleve bir klavye kısayolu atayabilirsiniz. Bunu, manifest dosyasını düzenleyerek ve sheets.macros[] özelliğine başka bir öğe ekleyerek yapabilirsiniz.

Alternatif olarak, bir işlevi E-Tablolar kullanıcı arayüzünden makro olarak içe aktarmak için aşağıdaki adımları izleyin:

  1. Google E-Tablolar kullanıcı arayüzünde Uzantılar > Makrolar > İçe aktar'ı seçin.
  2. Sunulan listeden bir işlev seçip İşlevi ekle'yi tıklayın.
  3. İletişim kutusunu kapatmak için simgesini seçin.
  4. Uzantılar > Makrolar > Makroları yönet'i seçin.
  5. İçe aktardığınız fonksiyonu listede bulun. Makroya benzersiz bir klavye kısayolu atayın. Makro adını da buradan değiştirebilirsiniz. Ad, varsayılan olarak işlevin adıdır.
  6. Makro yapılandırmasını kaydetmek için Güncelle'yi tıklayın.

Makrolar için manifest yapısı

Aşağıdaki manifest dosyası örnek snippet'i, Google E-Tablolar makrolarını tanımlayan bir manifestin bölümünü göstermektedir. Manifest'in sheets bölümü, makroya atanan ad ile klavye kısayolunu ve makro işlevinin adını tanımlar.

  {
    ...
    "sheets": {
      "macros": [{
        "menuName": "QuickRowSum",
        "functionName": "calculateRowSum",
        "defaultShortcut": "Ctrl+Alt+Shift+1"
      }, {
        "menuName": "Headerfy",
        "functionName": "updateToHeaderStyle",
        "defaultShortcut": "Ctrl+Alt+Shift+2"
      }]
    }
  }

E-Tablolar makro manifestlerinin nasıl oluşturulduğu hakkında daha fazla bilgi için E-Tablolar makro manifest kaynağı bölümüne bakın.

En iyi uygulamalar

Apps Komut Dosyası'nda makro oluştururken veya yönetirken aşağıdaki yönergelere uymanız önerilir.

  1. Makrolar hafif olduklarında daha iyi performans gösterir. Mümkün olduğunda, bir makronun yapacağı işlem sayısını sınırlayın.
  2. Makrolar en çok, çok az yapılandırmayla veya hiç yapılandırma olmadan sık sık tekrarlanması gereken sürekli işlemler için uygundur. Diğer işlemler için bunun yerine özel menü öğesi kullanmayı deneyin.
  3. Makro klavye kısayollarının benzersiz olması gerektiğini ve belirli bir sayfada, aynı anda kısayol içeren en fazla on makro bulunabileceğini unutmayın. Diğer makrolar yalnızca Uzantılar > Makrolar menüsünden yürütülebilir.
  4. Tek bir hücrede değişiklikler yapan makrolar, önce tam aralığı seçip ardından makroyu etkinleştirerek bir hücre aralığına uygulanabilir. Bu, önceden tanımlanmış bir hücre aralığında aynı işlemi kopyalayan makrolar oluşturmanın genellikle gerekli olmadığı anlamına gelir.

Yapamayacaklarınız

Makrolarla yapabilecekleriniz konusunda birkaç kısıtlama vardır:

Makroları, bağlı komut dosyalarının dışında kullanma

Makrolar, belirli Google E-Tablolar'a bağlı komut dosyalarında tanımlanır. Makro tanımlar, bağımsız bir komut dosyasında veya web uygulamasında tanımlanırsa göz ardı edilir.

E-Tablolar eklentilerinde makroları tanımlama

Makro tanımlarını E-Tablolar eklentisi kullanarak dağıtamazsınız. E-Tablolar eklenti projelerindeki makro tanımları, söz konusu eklentinin kullanıcıları tarafından yoksayılır.

Makroları komut dosyası kitaplıklarında dağıtma

Makro tanımlarını Apps Komut Dosyası kitaplıklarını kullanarak dağıtamazsınız.

Makroları Google E-Tablolar dışında kullanma

Makrolar yalnızca Google E-Tablolar'da bulunan bir özelliktir ve Google Dokümanlar, Formlar veya Slaytlar'da mevcut değildir.