Masalah umum yang mungkin Anda alami saat mengonversi kode VBA ke Apps Script dengan Macro Converter tercantum di bawah.
Pencetakan
VBA API yang mencetak file akan otomatis dikonversi ke Apps Script, tetapi mungkin memiliki fungsi yang berbeda dengan VBA API asli. Berikut adalah dua contoh:
VBA API | Perilaku di Apps Script |
---|---|
PrintOut | Mengonversi ke Apps Script, tetapi Apps Script API mencetak ke file, bukan ke printer. Anda dapat mencetak file PDF secara manual. |
PrintToFile | Mengonversi ke Apps Script. File PDF disimpan di folder MyDrive Anda. |
Item yang tidak dikonversi
Fitur berikut tidak dikonversi oleh Konverter Makro dan perlu dikonversi secara manual:
- Beberapa jenis Pemicu
- Userforms
- Jenis Rentang bernama yang tidak didukung
Pemicu
Dua jenis pemicu, pintasan keyboard, dan beberapa pemicu berbasis peristiwa, tidak dikonversi oleh Konverter Makro. Dalam banyak kasus, Anda dapat membuat pemicu ini secara manual.
Pintasan keyboard
Untuk menambahkan pintasan keyboard, ikuti langkah-langkah untuk mengimpor fungsi sebagai makro.
Pemicu berbasis peristiwa
Beberapa peristiwa dari kode VBA, seperti BeforeClose
atau BeforeSave
, tidak memiliki
yang setara di Apps Script, tetapi Anda mungkin dapat membuat solusi.
Untuk peristiwa seperti BeforeClose
, Anda dapat membuat menu atau tombol kustom untuk mengklik
guna melakukan tindakan yang perlu dilakukan sebelum menutup spreadsheet.
Karena Google Spreadsheet otomatis menyimpan setiap pengeditan, solusi untuk peristiwa seperti
BeforeSave
tidak dapat dilakukan.
Userforms
Di VBA, UserForm adalah jendela atau kotak dialog di antarmuka pengguna (UI) aplikasi. Konverter Makro tidak mengonversi UserForms. Anda dapat membuatnya secara manual di Apps Script.
Membuat dialog formulir pengguna
- Di komputer, buka file yang dikonversi di Google Spreadsheet.
- Di bagian atas, klik Ekstensi > ** Apps Script**.
- Di sebelah kiri editor, di samping "File", klik Tambahkan file > HTML. Sebaiknya beri file HTML dengan nama yang sama dengan UserForm VBA asli Anda.
- Tambahkan kolom dan informasi yang ingin ditampilkan di formulir. Pelajari lebih lanjut formulir HTML di W3school.com.
- Di sebelah kiri, klik file Apps Script (file GS) yang memiliki kode yang telah dikonversi.
- Jika Anda sudah memiliki pemicu
onOpen()
dalam kode, perbarui dengan kode di bawah. Jika Anda belum memiliki pemicuonOpen()
dalam kode, tambahkan kode di bawah ini.function onOpen() { SpreadsheetApp.getUi() .createMenu('User Form') .addItem('Show Form', 'showForm') .addToUi(); } function showForm() { var html = HtmlService.createHtmlOutputFromFile('userform_module_name') .setWidth(100) .setTitle('Sign-up for Email Updates'); SpreadsheetApp.getUi().showSidebar(html); }
- Ganti
userform_module_name
dengan nama file HTML yang Anda tambahkan. - Di bagian atas, klik Simpan project .
- Beralihlah ke Google Spreadsheet dan muat ulang halaman.
- Di bagian atas Google Spreadsheet, klik Formulir Pengguna > Tampilkan Formulir.
Rentang bernama
Di Excel, rentang bernama adalah nama yang diberikan ke satu sel atau rentang sel.
Saat Anda mengonversi file Excel ke Google Spreadsheet, beberapa jenis rentang bernama tidak akan dikonversi karena tidak didukung. Berikut ini dua contohnya:
Rentang bernama yang tidak didukung | Deskripsi |
---|---|
Tabel | Tidak didukung di Google Spreadsheet, tetapi memiliki solusi.
Untuk membuat ulang rentang bernama ini di Spreadsheet, tambahkan rentang bernama yang mengarah ke notasi A1 dari rentang tabel. Gunakan nama yang sama dengan rentang bernama asli dalam kode VBA Anda sehingga kode yang dikonversi mengenalinya. |
Daftar rentang | Tidak didukung di Google Spreadsheet. Tidak ada solusinya. |
Artikel terkait
- Ringkasan add-on Konverter Makro
- Menentukan apakah makro VBA kompatibel
- Mengonversi makro VBA ke Apps Script
- Memperbaiki error dalam kode yang dikonversi
- Tonton tutorial Konverter Makro
- Daftar API VBA yang kompatibel