Seçim, açık bir sunu sayfasında şu anda seçili olan öğedir (ör. vurgulanan metin veya tablo). Bu kılavuzda, Apps Script'i kullanarak etkin bir sunudaki seçimi nasıl alacağınız ve ayarlayacağınız açıklanmaktadır.
Seçim, komut dosyası başladığında mevcut olan durumun anlık görüntüsüdür. Kullanıcı tıkladığında ve komut dosyası çalışırken seçim değişirse bu değişiklikler yansıtılmaz.
Seçimler ve seçim türü
Selection sınıfını kullanarak seçimi okuyabilirsiniz. Sınıf, seçilen nesnelerin türüne göre seçilen nesneleri almak için çeşitli yöntemlere sahiptir.
SelectionType enum, seçilen nesnelerin türünü temsil eder. Örneğin, kullanıcı bir şekilde metin seçtiyse seçim türü TEXT olur. Bu durumda, selection.getTextRange()
yöntemini kullanarak seçili metin aralığını alabilirsiniz.
Seçimi içeren nesneyi de alabilirsiniz. Yukarıdaki örnekte devam edersek selection.getPageElementRange().getPageElements()[0]
kullanarak seçili metni içeren şekli alabilirsiniz. Benzer şekilde, kapsayıcı şekli içeren sayfa geçerli etkin sayfadır. Bu sayfayı almak için selection.getCurrentPage()
öğesini kullanın.
Seçimi okuma
Seçimi okumak için aşağıdaki örnekte gösterildiği gibi Presentation.getSelection() yöntemini kullanın:
Mevcut sayfayı okuma
Kullanıcının görüntülediği mevcut sayfayı almak için getSelection() ve getCurrentPage() yöntemlerini aşağıdaki gibi kullanın:
Geçerli sayfanın aşağıdaki türlerden biri olabileceğini unutmayın:
Geçerli sayfada bir veya daha fazla nesne seçili olabilir. Seçim türünü SelectionType belirler.
Seçim türüne göre seçimi okuma
Aşağıdaki örnekte, mevcut seçimi türe uygun bir şekilde okumak için seçim türünü nasıl kullanabileceğiniz gösterilmektedir.
Metin seçimlerini okuma
Selection.getTextRange() yöntemini kullanarak metin seçimini okuyabilirsiniz. İki tür metin seçimi vardır:
- Aralık seçimi: Bir şekil "Merhaba" metnini içeriyorsa ve "O" seçilirse döndürülen aralık startIndex=0 ve endIndex=2 değerine sahiptir.
- İmleç seçimi: Bir şekil "Merhaba" metnini içeriyorsa ve imleç "H" ("H|ello") karakterinden sonraysa döndürülen aralık, startIndex=1 ve endIndex=1 ile boş aralıktır.
Seçimi değiştirme
Komut dosyası, kullanıcının seçimini değiştirebilir. Komut dosyasının sunumda yaptığı tüm seçim değişiklikleri, komut dosyası çalıştırıldığı sürece sonraki seçim işlemlerine yansıtılır.
Seçim değişiklikleri, yalnızca komut dosyası çalıştırma işlemi tamamlandıktan sonra veya Presentation.saveAndClose()
çağrıldığında kullanıcının tarayıcıya yansıtılır.
Geçerli sayfayı seçme
selectAsCurrentPage() yöntemi çağrılarak etkin sunumdaki bir sayfa geçerli sayfa olarak seçilebilir. Bu yöntem, önceki sayfa öğelerini, sayfaları veya metin seçimlerini kaldırır. Bu nedenle, mevcut sayfada bu yöntemi kullandığınızda sayfadaki mevcut seçimlerin seçimini kaldırabilirsiniz. Örneğin:
Sayfa öğesi seçme
Sayfada bir sayfa öğesi seçmek için PageElement.select() yöntemini kullanın. Bu işlem, önceden seçili olan sayfa öğelerinin de seçimini kaldırır.
Örneğin:
Birden çok sayfa öğesi seçme
Seçime başka sayfa öğeleri eklemek için PageElement.select(false) yöntemini kullanın. Tüm sayfa öğeleri geçerli sayfada olmalıdır.
Seçimi dönüştürme
Komut dosyanızın yaptığı düzenlemeler, mevcut seçimi dönüştürebilir. Böylece, düzenleme sonucunda seçilen öğe değişir. Örneğin:
- A ve B adlı iki şekli seçtiğinizi varsayalım.
- Ardından komut dosyanız A şeklini kaldırır.
- Sonuç olarak, seçim düzenlemeye göre dönüştürülür ve yalnızca B şekli seçilir.
Aşağıdaki örnekte, seçilen sayfa öğeleriyle oynanarak seçimin nasıl dönüştürülebileceği gösterilmektedir.
Metin seçme
Bir şekilde veya tablo hücresinde bulunan metin, TextRange.select() yöntemi kullanılarak seçilebilir. Metin bir şekilde yer alıyorsa bu şekil de seçilir. Metin bir tablo hücresindeyse hem söz konusu tablo hücresi hem de onu içeren tablo seçilir.
Bu işlem, üst sayfayı geçerli sayfa olarak da ayarlar.
Bir şekilde aralık seçimi
Aşağıdaki örnekte, bir şekle yerleştirilmiş metin içinde nasıl aralık seçimi yapılacağı gösterilmektedir.
Bir şekilde imleci seçin
Aşağıdaki örnekte, bir şekildeki metin içinde nasıl imleç seçimi yapılacağı gösterilmektedir.
Tablo hücresinde aralık seçimi
Aşağıdaki örnekte, bir tablo hücresinde bulunan metin içinde aralık seçiminin nasıl yapılacağı gösterilmektedir.
TableCell'de imleç seçimi
Aşağıdaki örnekte, bir tablo hücresindeki metinde nasıl imleç seçimi yapılacağı gösterilmektedir.
Metin düzenlemeleri içeren seçim dönüşümü
Aşağıdaki örnekte, seçili metin düzenlenerek seçimin nasıl dönüştürülebileceği gösterilmektedir.
Seçimi kaldırma
Metin veya sayfa öğelerinin seçimini kaldırmak için açık bir yöntem yoktur. Ancak bu sonuç, Page.selectAsCurrentPage()
veya pageElement.select()
yöntemleri kullanılarak elde edilebilir.
Mevcut bir sayfayı seçme
Aşağıdaki örnekte, bir sayfayı geçerli sayfa olarak ayarlayarak sayfadaki mevcut seçimlerin nasıl kaldırılacağı gösterilmektedir.
Sayfa öğesi seçme
Aşağıdaki örnekte, bir sayfa öğesi seçilerek sayfadaki mevcut tüm seçimlerin nasıl kaldırılacağı gösterilmektedir. Böylece diğer tüm öğeler seçimden kaldırılır.