Google Apps Komut Dosyasını dosya olarak yeni bir e-tabloya nasıl aktarabilir / içe aktarabilirim?


13

Bunun açık bir cevabı olabileceğinden korkuyorum, ama başımı bu konuda çalıyorum ve bulamıyorum!

Yeni bir e-tablo oluştururken, içinde kolayca bir komut dosyası oluşturabiliriz . Buna makro demeyi seviyorum . Ancak daha yeni bir e-tablo oluşturduğumda, makronuzu almanın iyi bir yolunu bulamıyorum !

Sadece bir dosyayı kaydetmek ve istediğiniz zaman yeniden kopyalamak, yapıştırmak ve yeniden adlandırmak zorunda kalmadan yeniden kullanmak istiyorum. Buradaki amacım senaryoyu paylaşmak ve onu kim kullanacaksa programcı değil. Bu gerçekten basit olmalı!

Herhangi bir görüşün var mı?

Yanıtlar:


9

"Kütüphane çözümü" aslında en iyi seçeneğinizdir. Göründüğü kadar karmaşık değil, ancak bir kerelik bir iş gerektiriyor.

Önce bir e-tabloda komut dosyası oluşturmak (en çok diyelim Usta hesap tablosu).

Komut dosyası düzenleyicisinde Dosya → Sürümleri yönet'i tıklatarak komut dosyasının bir sürümünü kaydedin ve sürümünüze bir ad verin:

Sürümleri Yönet iletişim kutusunun ekran görüntüsü

Bu iletişim kutusunu kapatın ve Dosya → Proje Özellikleri'ne gidin . Burada, son derece rastgele bir karakter kombinasyonu olan Project anahtarını bulun :

Proje Özellikleri iletişim kutusunun ekran görüntüsü

Proje anahtarını kopyalayın veya not edin.

Yeni bir e-tablo oluşturduğunuzda ve komut dosyasını yeniden kullanmak istediğinizde, komut dosyası düzenleyicisine gidin ve Kaynaklar → Kitaplıklar'ı tıklatın (yeni komut dosyanızı kaydetmediyseniz, şimdi istenir).

Gelen bir Kütüphane Bul alanını gelen proje anahtarını yapıştırın Usta projesi (1) ve tıklama Seç (2):

Kitaplıkları Yönet iletişim kutusunun ekran görüntüsü

Bu, listeyi Ana komut dosyanızla doldurur . Daha kolay bir ad verin (3) ve Geliştirme Modu'nu (4) açın (bu, kitaplıkta hata ayıklamanıza izin verecektir). Komut dosyanızın en son sürümünü seçin (5).

Artık yeni komut dosyanızda bulunan kitaplığınızdaki işlevleri kullanabilirsiniz. (3) 'de belirttiğiniz adla herhangi bir işlev adını ekleyin, böylece kitaplığınızı olarak tanımladıysanız ve kitaplığınızda aramak istediğiniz MyLibrarybir işlev myFunctionvarsa arama yaparsınız MyLibrary.myFunction().

Kitaplığınızı güncellemek istediğinizde, bunu yapmanız ve dosyayı kaydetmeniz yeterlidir. Kitaplığa bağlı olan komut dosyaları, güncellenmiş kitaplık kodunu görür.

Bu alıştırmayı bir kavram kanıtı olarak denedim:

  • İşlevli bir kitaplık ayarlayın: function myFunction() {return "Foo"}
  • Kütüphaneyi şu şekilde tanımlayarak başka bir komut dosyasına ekleyin MyLibrary
  • İle kütüphane işlevini çağırdı Logger.log(MyLibrary.myFunction)
  • Günlük görüntülenir Foo
  • Kütüphaneyi düzenledi: function myFunction() {return "Bar"}
  • Dahil edilen komut dosyasını yeniden çalıştırdı, günlük artık görüntüleniyor Bar

Bu yüzden ilk kurulumdan sonra gerçekten çok basit. Gerçek bir örnek için Google Drive'ımdaki bu klasöre bakın .

Ayrıca kütüphaneler için Google dokümanlarına da bakın .


2
Sanırım sorumda yeterince net değildim (kütüphanelerin nasıl yapılacağını gösteren bir bağım vardı, tüm bağlantılarımı ve çok daha fazlasını okudum. Sanırım tüm dokümanları okudum) ve çok önemli bir noktayı atladım bilgi, bunun için üzgünüm. Bunu yapmak için " bu kadar karmaşık " olmadığını biliyorum, ama buradaki asıl amacım senaryoyu paylaşmak ve bu, paylaşacağım kadar karmaşık. Basit, basit olmalı. Soruyu düzenleyeceğim. Ama tüm dikkat için teşekkürler! Ayrıca, klasörünüzde hiçbir şey göremiyorum. Sadece 2 boş dosya. Onları açtıktan sonra bile.
cregox

Ah, @ JacobJanTuinstra'nın kütüphanelerin nasıl oluşturulacağına dair mükemmel cevabına olan bağlantınızı tamamen kaçırdım. Benim hatam. Şüphesiz, belgeleri okudunuz. Ama o zaman payla ne demek istediğini anladığımdan emin değilim . Senaryonuzu başka bir kullanıcıyla paylaşmak istiyor musunuz?
Vidar S. Ramdal

Klasörümdeki dosyalara gelince, evet, boş görünüyorlar. Ama elektronik tablolar, çünkü en emin olan boş - komut dışında kendilerine hiçbir şey yok. E-tablolarımı kullanmak için, yukarıdaki bağlantıyı tıklamanız, (boş) dosyalardan birini, ardından Aç'ı , ardından Dosya -> Kopya oluştur'u tıklamanız gerekir, böylece kendi Google Drive'ınızda bir kopyasına sahip olursunuz. Bu, ekli komut dosyaları boyunca da kopyalanmalıdır.
Vidar S. Ramdal

Tamam, bir kopyasını yaptıktan sonra nihayet senaryoyu görebiliyordum. Hala basit bir şey yok. Evet, başka bir kullanıcıyla paylaş. Kopyala ve Yapıştır iyi çalışıyor ve yeterince basit, ama çok huysuz. Hala bir dosyaya yapıştırmak zorundayım ve diğer kullanıcı kopyasını ondan! Neden dosyaları kullanamayacağımızı anlayamıyorum ...
cregox

2

Kısa cevap

Komut dosyanızı bir eklenti olarak yayınlayın . Bir Google Grubu ile paylaşılan, genel, liste dışı veya özel yapabileceğinizi unutmayın.

açıklama

Komut Dosyası Galerisi'nin yerini 2014'te eklenen Eklentiler aldı.

Bir eklentiyi yayınlamak için, bir eklentiyi Chrome Web Mağazası'nda yayınlayabilmek için 5 dolar ödemeniz gerekir. Eklentiyi herkese açık hale getirecekseniz, herkese açık hale getirmeden önce Google tarafından incelenmelidir, ancak bir Google Grubuyla özel olarak kısıtlanmış hale getirilirse birkaç dakika sonra kullanılabilir olacaktır.

Eklentinizi yayınlamanın bir alternatifi, eklenti testi özelliğini kullanmaktır, ancak bunun, komut dosyanıza bağlı olarak önemli bir sınırlama olabileceği veya olmayabileceği tetikleyicileri "test etmek" mümkün olmadığı gibi bazı sınırlamaları vardır.

Eklenti kullanmak bir kitaplık kullanmaktan daha iyidir, çünkü kitaplıklar e-tablonuzu yavaşlatabilir, ancak özellikle son kullanıcı bakış açısından, bir komut dosyası ekleme projesi eklemek yerine eklemek ve kullanmak daha kolaydır. kütüphaneyi çağırmak ve kütüphanenin kendisini eklemek için gereken kod.

Eklenti oluşturucu için bir avantaj, eklenti kullanıcılarının eklentinin kendisinden eklenti kodunu görüntüleyememeleri olabilir.

Öte yandan, belirli kullanımlar için çok karmaşık kabul edilebilecek belirli biçim ve boyut gereksinimlerine sahip bazı görüntüler gerektirir ve nihayet komut dosyamızın bir kopyasını / macunu yapmanın veya e-tablonun bir kopyasını (belge / form) yapmayı düşünebiliriz. / sunum) bu kullanım durumları için basit bir çözümdür.

Referanslar


2

Hakkında konuşulan Google Clasp'ı denemelisiniz

Oluşturulan komut dosyası projesinin bağlı olduğu bir üst dosyanın Drive ID'si

Denenmedi ancak proje komut dosyası kodunu almak, oluşturmak ve güncellemek için komutlar var gibi görünüyor:

  • Çek: Sağlanan veya kaydedilen komut dosyası kimliğinden bir proje alır. Apps Komut Dosyası projesi ile yerel dosyaları günceller
  • Push: Force tüm yerel dosyaları komut dosyası yönetim sunucusuna yazar
  • Oluştur: Yeni bir komut dosyası projesi oluşturur (isteğe bağlı proje üst kimliğiyle. Oluşturulan komut dosyası projesinin bağlı olduğu bir üst dosyanın Sürücü Kimliği)

2
bu katkı için teşekkürler Masson! Çok ilginç buluyorum, yakın zamanda test edemesem bile. :) her durumda, soruyu toka ile nasıl çözeceğiniz hakkında daha fazla ayrıntı verebilir misiniz? bağlantıların kopması veya önemli şekillerde değişmesi durumunda, yanıtları ileride başvurmak üzere bağımsız tutmak iyi bir fikirdir.
cregox

1

Yarısı dosyaları projenizden indirmektir.

Çözüm # 1

Bunu başarmak için bir araç buldum:

http://googleappsscriptexport.trototype.com/ kerem tiryaki tarafından

  • Sürücünüze erişim izni vermelisiniz
  • komut dosyasını bulmak için komut dosyasının anahtarını kopyalamanız gerekir:

resim açıklamasını buraya girin

dezavantaj

GoogleAppsScriptExporterForAll'ın artık Google Hesabınıza erişimi var (manuel olarak silmeniz gerekiyor)

Çözüm # 2

Bu eklentiyi Git-Hub ve Google E-Tablolar Komut Dosyalarını entegre etmek için de kullanıyorum: https://chrome.google.com/webstore/detail/google-apps-script-github/lfjcgcmkmjjlieihflfhjopckgpelofo

Bu eklenti yüklendikten sonra şunları yapmanız gerekir:

  1. Oturum Açın ve kodunuzu GitHub'a itin (düğme düzenleyicide görünecektir)
  2. Gerekirse kodunuzu GitHub'dan indirin.
  3. Ayrıca projeyi GitHub'dan da çekebilirsiniz (ortalama bir kullanıcı yapmaz).

dezavantaj

Kullanıcının hala Komut Dosyası Düzenleyicisi'ni açması ve kodu kopyalaması gerekir.

Avantajları

  1. Quique uygulaması. Eklentilerle oynamak zorunda değilsiniz
  2. Bir kullanıcının birden fazla dosya yerine bir komut dosyasını kopyalaması kolaydır.

Sonraki adımlar

Benim için sonraki adımlar:

  1. Benim Birleştirme *.jstek satır dosyaya dosyaları. Başarıyla kullanıldı https://jscompress.com/ =)
  2. Bir dosyayı kullanıcılarla paylaşma (komut dosyasını GitHub'a gönderme veya doğrudan e-posta ile gönderme)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.