Bir komut dosyası, bağımsız komut dosyası olarak değil de ilgili dokümandan oluşturulduysa Google E-Tablolar, Dokümanlar, Slaytlar veya Formlar dosyasına bağlanır. Bağlı bir komut dosyasının eklendiği dosyaya "kapsayıcı" adı verilir. Bağlı komut dosyaları, Google Drive'da görünmemeleri, bağlı oldukları dosyadan ayrılamamaları ve üst dosyaya göre birkaç özel ayrıcalık kazanmaları dışında genellikle bağımsız komut dosyaları gibi davranır.
Komut dosyalarının Google Sites'a da bağlanabileceğini ancak bu komut dosyalarının neredeyse her zaman web uygulamaları olarak dağıtıldığını unutmayın. Google E-Tablolar, Dokümanlar, Slaytlar veya Formlar'a bağlı komut dosyaları da web uygulaması haline gelebilir ancak bu durum nadirdir.
Bağlı komut dosyası oluşturma
Google Dokümanlar, E-Tablolar veya Slaytlar
Google Dokümanlar, E-Tablolar veya Slaytlar'da bağlı bir komut dosyası oluşturmak için Dokümanlar'da bir dokümanı, E-Tablolar'da bir e-tabloyu veya Slaytlar'da bir sunuyu açın ve Uzantılar > Apps Script'i tıklayın. Senaryoyu gelecekte yeniden açmak için aynı işlemi yapın veya senaryoyu Apps Komut Dosyası kontrol panelinden açın.
Google Forms
Google Formlar'da bağlı bir komut dosyası oluşturmak için bir formu açın ve Diğer > Komut Dosyası Düzenleyicisi'ni tıklayın. Senaryoyu gelecekte yeniden açmak için aynı işlemi yapın veya senaryoyu Apps Komut Dosyası kontrol panelinden açın.
Özel yöntemler
Bağlı komut dosyaları, bağımsız komut dosyalarının çağıramadığı birkaç yöntemi çağırabilir:
getActiveSpreadsheet()
,getActiveDocument()
,getActivePresentation()
, vegetActiveForm()
bağlı komut dosyalarının, dosyanın kimliğine başvurmadan üst dosyalarına başvurmasına olanak tanır.getUi
, bağlı komut dosyalarının özel menüler, iletişim kutuları ve kenar çubukları eklemek için üst dosyasının kullanıcı arayüzüne erişmesine olanak tanır.- Google E-Tablolar'da
getActiveSheet()
,getActiveRange()
vegetActiveCell()
, komut dosyasının kullanıcının mevcut sayfasını, seçili hücre aralığını veya seçili tek hücreyi belirlemesine olanak tanır.setActiveSheet(sheet)
vesetActiveRange(range)
komut dosyasının bu seçimleri değiştirmesine izin verin. - Google Dokümanlar'da
getActiveTab()
,getCursor()
vegetSelection()
komut dosyasının kullanıcının mevcut sekmesini, kullanıcının imlecinin konumunu veya seçili metni belirlemesine olanak tanır.setActiveTab(tabId)
,setCursor(position)
vesetSelection(range)
seçeneklerini belirleyin ve komut dosyasının bu seçimleri değiştirmesine izin verin.
Daha fazla bilgi için Google E-Tablolar'ı genişletme rehberine veya Google Dokümanlar'ı genişletme rehberine göz atın.
Özel menüler, iletişim kutuları ve kenar çubukları
Bağlı komut dosyaları, özel menüler ve iletişim kutuları veya kenar çubukları ekleyerek Google E-Tablolar, Dokümanlar ve Formlar'ı özelleştirebilir. Ancak bir komut dosyasının yalnızca açık bir dosyanın mevcut örneğinin kullanıcı arayüzüyle etkileşimde bulunabileceğini unutmayın. Yani bir dokümana bağlı bir komut dosyası, başka bir dokümanın kullanıcı arayüzünü etkileyemez.
Tetikleyiciler
Bağlı komut dosyaları, düzenleme erişimi olan bir kullanıcı tarafından dosya her açıldığında otomatik olarak çalışan özel onOpen()
işlevi gibi basit tetikleyiciler kullanabilir. Tüm komut dosyası türleri gibi, bunlar da yüklenebilir tetikleyiciler kullanabilir.
Özel işlevler
Özel işlev, Google E-Tablolar'a bağlı bir komut dosyasındaki işlevdir. Bu işlevi =myFunctionName()
söz dizimini kullanarak doğrudan bir hücreden çağırırsınız. Bu nedenle özel işlevler, E-Tablolar'daki yüzlerce yerleşik işleve (ör. AVERAGE
veya SUM
) benzer ancak özel işlevin davranışını siz tanımlarsınız.
Bağlı komut dosyalarına erişim
Yalnızca bir kapsayıcıyı düzenleme izni olan kullanıcılar, kapsayıcının bağlı komut dosyasını çalıştırabilir. Yalnızca görüntüleme erişimi olan ortak çalışanlar, komut dosyası düzenleyiciyi açamaz. Ancak kapsayıcı dosyanın bir kopyasını oluştururlarsa kopyanın sahibi olurlar ve komut dosyasının bir kopyasını görebilir ve çalıştırabilirler.
Bir komut dosyasının kapsayıcı dosyasını nasıl paylaşacağınızı öğrenmek için Google Drive'dan dosya paylaşma başlıklı makaleyi inceleyin.