Sheets tidak didefinisikan google script

Memulai

Tutorial dan panduan untuk membawa Anda mulai dari menulis skrip pertama hingga membuat aplikasi

Belajarlah lagi "

Contoh Script

Dari alat produktivitas hingga otomatisasi perusahaan, lihat apa yang dapat Anda bangun dengan Google Apps Script

Belajarlah lagi "

Referensi Pengembang

Lengkapi dokumentasi dengan semua yang perlu Anda ketahui saat Anda membangun dengan Google Apps Script

Belajarlah lagi "

Hai. Saya memeriksa utas lainnya dan saya tidak tahu apa masalahnya. Inilah yang saya dapatkan

ReferensiKesalahan. Jika tidak ditentukan

Ups, coba lagi. Kode Anda sepertinya salah. Periksa Petunjuk jika Anda memerlukan bantuan

Kode Saya

konfirmasi ("Apakah Anda siap untuk bermain?"); . log(“Lanjutkan dengan risiko Anda sendiri. Kami tidak bertanggung jawab atas PTSD apa pun”); . log(“Ayo main game”);

Bahkan pengembang yang paling berpengalaman pun jarang menulis kode dengan benar pada percobaan pertama, menjadikan pemecahan masalah sebagai bagian penting dari proses pengembangan. Di bagian ini, kami akan membahas beberapa teknik yang dapat membantu Anda menemukan, memahami, dan men-debug kesalahan dalam skrip Anda

Pesan kesalahan

Saat skrip Anda mengalami kesalahan, pesan kesalahan ditampilkan. Pesan tersebut disertai dengan nomor baris yang digunakan untuk pemecahan masalah. Ada dua jenis kesalahan dasar yang ditampilkan dengan cara ini. kesalahan sintaksis dan kesalahan runtime

Kesalahan sintaks

Kesalahan sintaks disebabkan oleh penulisan kode yang tidak mengikuti tata bahasa JavaScript, dan kesalahan terdeteksi segera setelah Anda mencoba menyimpan skrip. Misalnya, cuplikan kode berikut berisi kesalahan sintaksis

function emailDataRow(rowNumber) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var rowData = data[rowNumber-1].join(" ";
  MailApp.sendEmail('[email protected]',
                    'Data in row ' + rowNumber,
                    rowData);
}

Masalah sintaks di sini adalah karakter ) yang hilang di akhir baris keempat. Saat Anda mencoba menyimpan skrip, Anda akan mendapatkan kesalahan berikut

Tak ada ) setelah daftar argumen. (baris 4)

Jenis kesalahan ini biasanya mudah dipecahkan, karena kesalahan tersebut langsung ditemukan dan biasanya memiliki penyebab sederhana. Anda tidak dapat menyimpan file yang berisi kesalahan sintaksis, artinya hanya kode valid yang disimpan ke dalam proyek Anda

Kesalahan waktu proses

Kesalahan ini disebabkan oleh penggunaan fungsi atau kelas yang salah, dan hanya dapat dideteksi setelah skrip dijalankan. Misalnya, kode berikut menyebabkan galat runtime

function emailDataRow(rowNumber) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var rowData = data[rowNumber-1].join(" ");
  MailApp.sendEmail('john',
                    'Data in row ' + rowNumber,
                    rowData);
}
_

Kode diformat dengan benar, tetapi kami meneruskan nilai "john" untuk alamat email saat memanggil MailApp.sendEmail. Karena ini bukan alamat email yang valid, kesalahan berikut muncul saat menjalankan skrip

Email tidak valid. john (baris 5)

Apa yang membuat kesalahan ini lebih menantang untuk dipecahkan adalah bahwa sering kali data yang Anda berikan ke suatu fungsi tidak ditulis dalam kode, melainkan ditarik dari spreadsheet, formulir, atau sumber data eksternal lainnya. Menggunakan teknik debugging di bawah ini dapat membantu Anda mengidentifikasi penyebab kesalahan ini

Kesalahan Umum

Di bawah ini adalah daftar kesalahan umum dan penyebabnya

Service invoked too many times:

Kesalahan ini menunjukkan bahwa Anda telah melampaui kuota harian untuk tindakan tertentu. Misalnya, Anda mungkin mengalami kesalahan ini jika mengirim terlalu banyak email dalam satu hari. Kuota ditetapkan pada tingkat yang berbeda untuk akun konsumen, domain, dan premier dan dapat berubah sewaktu-waktu tanpa pemberitahuan sebelumnya oleh Google. Anda dapat melihat batas kuota untuk berbagai tindakan di dokumentasi kuota Apps Script

Server tidak tersedia. atau Terjadi kesalahan server, harap coba lagi

Ada beberapa kemungkinan penyebab kesalahan ini

  • Server atau sistem Google untuk sementara tidak tersedia. Tunggu beberapa saat dan coba jalankan skrip lagi
  • Ada kesalahan dalam skrip Anda yang tidak memiliki pesan kesalahan terkait. Coba debug skrip Anda dan lihat apakah Anda dapat mengisolasi masalahnya
  • Ada bug di Skrip Google Apps yang menyebabkan kesalahan ini. Untuk instruksi tentang mencari dan mengajukan laporan bug, lihat. Sebelum mengajukan bug baru, telusuri untuk mengetahui apakah orang lain telah melaporkannya

Otorisasi diperlukan untuk melakukan tindakan itu

Kesalahan ini menunjukkan bahwa skrip tidak memiliki otorisasi yang diperlukan untuk dijalankan. Saat skrip dijalankan di Editor Skrip atau dari item menu kustom, dialog otorisasi ditampilkan kepada pengguna. Namun, saat skrip dijalankan dari pemicu, disematkan dengan laman Google Sites, atau dijalankan sebagai layanan, dialog tidak dapat ditampilkan dan kesalahan ini ditampilkan

Untuk mengotorisasi skrip, buka Editor Skrip dan jalankan fungsi apa pun. Prompt otorisasi muncul sehingga Anda dapat mengotorisasi proyek skrip. Jika skrip berisi layanan baru yang tidak sah, Anda harus mengotorisasi ulang skrip tersebut

Kesalahan ini sering kali disebabkan oleh pemicu yang diaktifkan sebelum pengguna mengizinkannya. Jika Anda tidak memiliki akses ke proyek skrip (karena kesalahan terjadi pada add-on yang Anda gunakan, misalnya), Anda biasanya dapat mengotorisasi skrip dengan menggunakan add-on lagi. Jika pemicu terus aktif dan menyebabkan kesalahan ini, Anda dapat menghapus pemicu dengan melakukan hal berikut

  1. Di sebelah kiri proyek Apps Script, klik Pemicu alarm .
  2. Di sebelah kanan pemicu yang ingin Anda hapus, klik Lainnya more_vert > Hapus pemicu.

Anda juga dapat menghapus pemicu add-on yang bermasalah dengan

Akses ditolak. DriveApp atau Kebijakan domain telah menonaktifkan aplikasi Drive pihak ketiga

Administrator domain Google Workspace memiliki kemampuan untuk menonaktifkan Drive SDK untuk domain mereka, yang mencegah pengguna menginstal dan menggunakan aplikasi Google Drive. Setelan ini juga mencegah pengguna untuk dapat menggunakan add-on Apps Script yang menggunakan layanan Drive atau Layanan Drive Lanjutan (meskipun skrip diotorisasi sebelum admin menonaktifkan SDK Drive)

Namun, jika add-on atau aplikasi web yang menggunakan layanan Drive dipublikasikan untuk penginstalan di seluruh domain dan diinstal oleh administrator untuk beberapa atau semua pengguna di domain, skrip akan berfungsi untuk pengguna tersebut meskipun SDK Drive dinonaktifkan di

Skrip tidak memiliki izin untuk mendapatkan identitas pengguna aktif

Menunjukkan bahwa identitas dan email pengguna aktif tidak tersedia untuk skrip. Peringatan ini dihasilkan dari panggilan ke. Itu juga dapat dihasilkan dari panggilan ke jika skrip berjalan dalam mode otorisasi selain AuthMode.FULL. Jika peringatan ini ditandai, panggilan selanjutnya hanya mengembalikan ""

Ada sejumlah cara untuk memecahkan masalah peringatan ini, bergantung pada mode otorisasi yang menjalankan skrip. Mode otorisasi diekspos dalam fungsi yang dipicu sebagai properti authMode dari parameter peristiwa e

  • Di AuthMode.FULL, pertimbangkan untuk menggunakan sebagai gantinya
  • Di
    function emailDataRow(rowNumber) {
      var sheet = SpreadsheetApp.getActiveSheet();
      var data = sheet.getDataRange().getValues();
      var rowData = data[rowNumber-1].join(" ");
      MailApp.sendEmail('john',
                        'Data in row ' + rowNumber,
                        rowData);
    }
    
    2, pastikan bahwa pemilik telah mengesahkan skrip
  • Dalam mode otorisasi lainnya, hindari memanggil salah satu metode
  • Jika Anda adalah pelanggan Google Workspace yang baru saja mengalami peringatan ini dari pemicu yang dapat diinstal, pastikan pemicu tersebut dijalankan sebagai pengguna dalam organisasi Anda

Perpustakaan tidak ada

Jika Anda menambahkan pustaka populer ke skrip, Anda mungkin menerima pesan kesalahan yang menyatakan bahwa pustaka tersebut hilang, meskipun pustaka terdaftar sebagai dependensi untuk skrip Anda. Alasannya mungkin karena terlalu banyak orang yang mengakses perpustakaan pada waktu yang bersamaan. Untuk menghindari kesalahan ini, coba salah satu solusi berikut

  • Salin dan tempel kode perpustakaan ke skrip Anda dan hapus ketergantungan perpustakaan
  • Salin skrip pustaka dan terapkan sebagai pustaka dari akun Anda. Pastikan untuk memperbarui dependensi dalam skrip asli Anda ke pustaka baru alih-alih pustaka publik

Men-debug

Tidak semua kesalahan menyebabkan pesan kesalahan ditampilkan. Mungkin ada kesalahan yang lebih halus di mana kode secara teknis benar dan dapat dijalankan, tetapi hasilnya tidak seperti yang Anda harapkan. Berikut adalah beberapa strategi untuk menangani situasi seperti itu dan menyelidiki lebih lanjut skrip yang tidak berjalan seperti yang Anda harapkan

Penebangan

Saat melakukan debug, merekam informasi saat proyek skrip dijalankan sering membantu. Skrip Google Apps memiliki dua metode untuk mencatat informasi. dan yang lebih mendasar yang ada di dalam editor Apps Script

Lihat Panduan pembuatan log untuk detail lebih lanjut

Pelaporan Kesalahan

Catatan. Untuk menggunakan Error Reporting di Google Cloud Platform, project Apps Script Anda harus menggunakan project GCP standar yang dikelola pengguna, bukan project GCP default yang dikelola Apps Script

Pengecualian yang terjadi karena error runtime secara otomatis direkam menggunakan layanan Google Cloud Error Reporting. Layanan ini memungkinkan Anda mencari dan memfilter pesan pengecualian yang dibuat proyek skrip Anda

Untuk mengakses Error Reporting, lihat

Eksekusi

Setiap kali Anda menjalankan skrip, Apps Script mencatat eksekusi tersebut, termasuk log Cloud. Catatan ini dapat membantu Anda memahami tindakan yang dilakukan skrip Anda

Untuk melihat eksekusi skrip Anda di proyek Apps Script, di sebelah kiri, klik Eksekusi playlist_play .

Memeriksa status layanan Apps Script

Meskipun jarang, terkadang layanan Google Workspace tertentu (seperti Gmail atau Drive) mengalami masalah sementara yang dapat menyebabkan gangguan layanan. Saat ini terjadi, proyek Apps Script yang berinteraksi dengan layanan ini mungkin tidak berfungsi seperti yang diharapkan

Anda dapat memeriksa apakah ada gangguan layanan Google Workspace dengan melihat Dasbor Status Google Workspace. Jika pemadaman saat ini sedang dialami, Anda dapat menunggu hingga masalah tersebut diselesaikan atau mencari bantuan tambahan di Pusat Bantuan Google Workspace atau dokumentasi Masalah Umum Google Workspace

Gunakan debugger dan breakpoints

Untuk menemukan masalah dalam skrip Anda, Anda dapat menjalankannya dalam mode debug. Saat dijalankan dalam mode debug, skrip akan dijeda saat mencapai breakpoint, yang merupakan baris yang telah Anda soroti di skrip yang menurut Anda mungkin bermasalah. Saat skrip dijeda, ia menampilkan nilai setiap variabel pada saat itu, memungkinkan Anda untuk memeriksa cara kerja skrip tanpa harus menambahkan banyak pernyataan logging

Tambahkan titik jeda

Untuk menambahkan breakpoint, arahkan kursor ke nomor baris dari baris yang ingin Anda tambahkan breakpoint. Di sebelah kiri nomor baris, klik lingkaran. Gambar di bawah menunjukkan contoh breakpoint yang ditambahkan ke skrip

Sheets tidak didefinisikan google script

Jalankan skrip dalam mode debug

Untuk menjalankan skrip dalam mode debug, di bagian atas editor, klik Debug

Sebelum skrip menjalankan baris dengan breakpoint, skrip akan berhenti sejenak dan menampilkan tabel informasi debug. Anda dapat menggunakan tabel ini untuk memeriksa data seperti nilai parameter dan informasi yang disimpan dalam objek

Untuk mengontrol bagaimana script dijalankan, di bagian atas panel Debugger, gunakan tombol "Step in", "Step over", dan "Step out". Ini memungkinkan Anda menjalankan skrip satu baris pada satu waktu dan memeriksa bagaimana nilai berubah dari waktu ke waktu

Masalah dengan beberapa Akun Google

Jika Anda masuk ke beberapa Akun Google secara bersamaan, Anda mungkin kesulitan mengakses add-on dan aplikasi web Anda. Multi-login, atau login ke beberapa Akun Google sekaligus, tidak didukung untuk Apps Script, add-on, atau aplikasi web

  • Jika Anda membuka editor Apps Script saat masuk ke lebih dari satu akun, Google akan meminta Anda untuk memilih akun yang ingin Anda gunakan

  • Jika Anda membuka aplikasi web atau add-on dan mengalami masalah multilogin, coba salah satu solusi berikut

    • Keluar dari semua Akun Google Anda dan hanya masuk ke akun yang memiliki add-on atau aplikasi web yang ingin Anda akses
    • Buka jendela penyamaran di Google Chrome, atau jendela penjelajahan pribadi yang setara, dan masuk ke Akun Google yang memiliki pengaya atau aplikasi web yang ingin Anda akses

Mendapatkan bantuan

Men-debug masalah menggunakan alat dan teknik yang tercantum di atas dapat memecahkan berbagai masalah, tetapi mungkin ada masalah yang Anda hadapi yang memerlukan bantuan tambahan untuk menyelesaikannya. Lihat halaman Dukungan kami untuk informasi tempat mengajukan pertanyaan dan mengajukan bug

Bagaimana cara mengaktifkan skrip lembar Google?

Buat skrip .
Di Dokumen, Spreadsheet, Slide, atau Formulir, buka dokumen, spreadsheet, presentasi, atau formulir
Jika Anda menggunakan Dokumen, Spreadsheet, atau Slide, klik Alat di bagian atas. Editor skrip
Jika Anda menggunakan Formulir, di pojok kanan atas, klik Lainnya. Editor skrip
Buat skrip Anda

Mengapa saya tidak dapat menemukan skrip di Google Sheets?

Jika opsi Alat --> Editor Skrip dan menu Add-on tidak ada saat Anda membuka file, mungkin file tersebut sebenarnya bukan file Google Spreadsheet. Pastikan untuk membuka File --> Save As Google Sheets . Kemudian opsi Script Editor di menu Tools dan menu Add-ons akan tersedia.

Bagaimana cara menggunakan fungsi Google Sheets di skrip Aplikasi?

Setelah Anda menulis fungsi khusus atau menginstalnya dari Google Workspace Marketplace, penggunaannya sama mudahnya dengan fungsi bawaan. .
Klik sel tempat Anda ingin menggunakan fungsi
Ketik tanda sama dengan ( = ) diikuti dengan nama fungsi dan nilai input apa pun — misalnya, =DOUBLE(A1) — dan tekan Enter