Bagaimana cara mengekspor / mengimpor Skrip Google Apps sebagai file ke dalam spreadsheet baru?

13

Saya khawatir ini mungkin memiliki jawaban yang jelas, tetapi saya telah membanting kepalaku untuk hal ini dan tidak dapat menemukannya!

Saat membuat spreadsheet baru, kita dapat dengan mudah membuat skrip di dalamnya. Saya suka menyebutnya makro . Tetapi ketika saya membuat spreadsheet yang lebih baru, saya tidak dapat menemukan cara yang baik untuk mendapatkan makro saya !

Saya hanya ingin menyimpan file dan menggunakannya kembali sesuka hati, tanpa perlu menyalin & menempel & mengganti nama. Tujuan saya di sini adalah berbagi skrip dan siapa pun yang akan menggunakannya bukan seorang programmer. Ini pasti sangat sederhana!

Ada wawasan?

cregox
sumber

Jawaban:

9

"Solusi perpustakaan" sebenarnya adalah pilihan terbaik Anda. Ini tidak serumit kedengarannya, tetapi butuh sedikit kerja satu kali.

Pertama, Anda membuat skrip Anda dalam satu spreadsheet (sebut saja itu spreadsheet Master ).

Simpan versi skrip dengan mengklik File → Kelola versi dalam editor skrip, dan beri nama versi Anda:

Cuplikan layar dialog Kelola Versi

Tutup dialog ini, dan buka File → Project Properties . Di sini, cari kunci Proyek , yang merupakan kombinasi karakter acak yang sangat banyak:

Cuplikan layar dari dialog Properti Proyek

Salin atau catat kunci proyek.

Ketika Anda telah membuat spreadsheet baru dan ingin menggunakan kembali skrip, buka editor skrip dan klik Resources → Libraries (jika Anda belum menyimpan skrip baru Anda, Anda akan diminta untuk melakukannya sekarang).

Di bidang Temukan Perpustakaan , rekatkan kunci proyek dari proyek Master (1) dan klik Pilih (2):

Cuplikan layar dialog Kelola Perpustakaan

Ini akan mengisi daftar dengan skrip Master Anda . Beri nama yang lebih ramah (3), dan nyalakan Mode Pengembangan (4) (ini akan memungkinkan Anda untuk men-debug pustaka). Pilih versi skrip Anda yang terbaru (5).

Sekarang Anda dapat menggunakan fungsi dari perpustakaan yang disertakan dalam skrip baru Anda. Hanya tambahkan nama fungsi apa pun dengan nama yang Anda tentukan pada (3), sehingga jika Anda mengidentifikasi perpustakaan Anda sebagai MyLibrary, dan perpustakaan Anda memiliki fungsi myFunctionyang ingin Anda panggil, Anda memanggil MyLibrary.myFunction().

Ketika Anda ingin memperbarui perpustakaan Anda, Anda cukup melakukannya, dan simpan file tersebut. Setiap skrip yang bergantung pada pustaka akan melihat kode pustaka yang diperbarui.

Saya baru saja mencoba latihan ini sebagai bukti konsep:

  • Menyiapkan perpustakaan dengan fungsi: function myFunction() {return "Foo"}
  • Sertakan dalam skrip lain, yang mengidentifikasi perpustakaan sebagai MyLibrary
  • Memanggil fungsi perpustakaan dengan Logger.log(MyLibrary.myFunction)
  • Log ditampilkan Foo
  • Edit perpustakaan: function myFunction() {return "Bar"}
  • Menjalankan ulang skrip yang disertakan, log sekarang ditampilkan Bar

Jadi itu benar-benar sangat sederhana setelah pengaturan awal. Lihat folder ini di Google Drive saya untuk contoh nyata.

Lihat juga dokumentasi Google untuk perpustakaan .

Vidar S. Ramdal
sumber
2
Saya pikir saya tidak cukup jelas dalam pertanyaan saya (saya memiliki tautan yang menunjukkan bagaimana melakukan perpustakaan, saya sudah membaca semua tautan saya dan banyak lagi. Saya pikir saya sudah membaca semua dokumen), dan saya menghilangkan satu hal penting. info, maaf tentang ini. Saya tahu itu bukan " semua yang rumit " untuk melakukannya, tetapi tujuan utama saya di sini adalah untuk berbagi skrip dan ini cukup rumit untuk siapa saya akan berbagi. Sederhana harus sederhana. Saya akan mengedit pertanyaan. Tapi terima kasih atas semua pertimbangannya! Juga, saya tidak dapat melihat apa pun di folder Anda. Hanya 2 file kosong. Bahkan setelah membukanya.
cregox
Ah, saya benar-benar kehilangan tautan Anda ke @ JacobJanTuinstra yang sudah menjawab dengan sangat baik tentang cara membuat perpustakaan. Salahku. Anda telah membaca dokumen, tidak diragukan lagi. Tapi saya tidak yakin saya mengerti apa yang Anda maksud dengan berbagi . Apakah Anda ingin membagikan skrip Anda dengan pengguna lain?
Vidar S. Ramdal
Adapun file di folder saya, ya, mereka tampaknya kosong. Tapi itu karena spreadsheet yang kosong - tidak ada yang mereka kecuali script. Untuk menggunakan spreadsheet saya, Anda harus mengklik tautan di atas, klik salah satu file (kosong), lalu Buka , lalu File -> Buat salinan , sehingga Anda memiliki salinan di Google Drive Anda sendiri. Ini juga harus menyalin sepanjang file skrip terlampir.
Vidar S. Ramdal
Ok, setelah membuat salinan saya akhirnya bisa melihat skrip. Masih tidak ada yang sederhana di sana. Ya, bagikan dengan pengguna lain. Salin & Tempel berfungsi dengan baik, dan itu cukup sederhana, tetapi terlalu rewel. Saya masih harus menempelkan ke file dan salinan pengguna lain dari itu! Saya hampir tidak mengerti mengapa kita tidak bisa menggunakan file ...
cregox
2

Jawaban singkat

Publikasikan skrip Anda sebagai add-on. Ingatlah bahwa Anda dapat menjadikannya publik, tidak terdaftar, atau pribadi, dibagikan dengan Grup Google.

Penjelasan

Galeri Skrip digantikan oleh Pengaya yang ditambahkan pada 2014.

Untuk mempublikasikan add-on Anda harus membayar biaya 5 dolar untuk dapat mempublikasikan add-on ke Toko Web Chrome. Jika Anda akan membuat add-on ini publik, harus ditinjau oleh Google sebelum dibuat tersedia untuk umum, tetapi jika Anda menjadikannya pribadi terbatas pada Google Group, itu akan tersedia setelah beberapa menit.

Alternatif untuk mempublikasikan add-on Anda adalah dengan menggunakan fitur uji add-on tetapi ini memiliki beberapa keterbatasan seperti itu tidak mungkin untuk "menguji" pemicu yang tergantung pada skrip Anda bisa menjadi batasan yang signifikan atau tidak.

Menggunakan add-on lebih baik daripada menggunakan perpustakaan karena perpustakaan bisa memperlambat spreadsheet Anda, tetapi khususnya karena, dari sudut pandang pengguna akhir, lebih mudah menggunakan add dan menggunakannya daripada menambahkan menambahkan proyek skrip, tambahkan diperlukan kode untuk memanggil perpustakaan dan menambahkan perpustakaan itu sendiri.

Keuntungan bagi pembuat add-on bisa menjadi kenyataan bahwa pengguna add-on tidak akan dapat melihat kode add-on dari add-on itu sendiri.

Di sisi lain, ini memerlukan beberapa gambar dengan persyaratan format dan ukuran tertentu yang dapat dianggap terlalu rumit untuk kasus penggunaan tertentu dan kami akhirnya dapat mempertimbangkan untuk melakukan salinan / tempel skrip kami atau membuat salinan spreadsheet (dokumen / formulir / presentasi) adalah solusi langsung untuk kasus penggunaan tersebut.

Referensi

Rubén
sumber
2

Anda harus mencoba Google Genggam yang sedang dibicarakan

ID Drive dari file induk yang terikat dengan proyek skrip yang dibuat

Tidak mencoba tetapi sepertinya ada perintah untuk mengambil kode skrip proyek, membuat dan memperbarui:

  • Tarik: Mengambil proyek dari id skrip yang disediakan atau disimpan. Memperbarui file lokal dengan proyek Apps Script
  • Push: Paksa menulis semua file lokal ke server manajemen skrip
  • Buat: Membuat proyek skrip baru (dengan ID induk proyek opsional. ID Drive dari file induk yang terikat dengan proyek skrip yang dibuat)
A. Masson
sumber
2
terima kasih atas kontribusi ini, Masson! saya merasa cukup menarik, bahkan jika saya tidak akan dapat mengujinya dalam waktu dekat. :) dalam hal apa pun, bisakah Anda menguraikan lebih lanjut secara khusus bagaimana menyelesaikan pertanyaan dengan gesper? itu ide yang baik untuk menjaga jawaban mandiri untuk referensi di masa mendatang, jika tautan rusak atau berubah secara signifikan.
cregox
1

Setengah jalan adalah mengunduh file dari proyek Anda.

Solusi # 1

Saya menemukan alat untuk mencapai ini:

http://googleappsscriptexport.trototype.com/ oleh kerem tiryaki

  • Anda harus memberikan akses ke drive Anda
  • untuk menemukan skrip, Anda harus menyalin kunci skrip:

masukkan deskripsi gambar di sini

Kerugian

GoogleAppsScriptExporterForAll sekarang memiliki akses ke Akun Google Anda (harus menghapusnya secara manual)

Solusi # 2

Saya juga menggunakan pengaya ini untuk mengintegrasikan Git-Hub dan Google Sheets Scripts: https://chrome.google.com/webstore/detail/google-apps-script-github/lfjcgcmkmjjlieihflfhjopckgpelofo

Setelah addon ini diinstal, Anda perlu:

  1. Masuk & Dorong kode Anda ke GitHub (tombol akan muncul di editor)
  2. Unduh kode Anda dari GitHub jika perlu.
  3. Anda juga dapat menarik proyek dari GitHub (rata-rata pengguna tidak akan melakukannya).

Kerugian

Pengguna masih harus membuka Editor Skrip dan menyalin kode.

Keuntungan

  1. Implementasi yang tenang. Tidak harus bermain dengan add-on
  2. Mudah bagi pengguna untuk menyalin satu skrip, bukan beberapa file.

Langkah selanjutnya

Langkah selanjutnya bagi saya adalah:

  1. Gabungkan *.jsfile saya menjadi file satu baris. Berhasil digunakan https://jscompress.com/ =)
  2. Berbagi satu file dengan pengguna (memposting skrip ke GitHub atau mengirim surel secara langsung)
Max Makhrov
sumber