VBA kodunuzu Makro Dönüştürücü ile Apps Komut Dosyası'na dönüştürdüğünüzde karşılaşabileceğiniz yaygın sorunlar aşağıda listelenmiştir.
Yazdırma
Dosya yazdıran VBA API'leri otomatik olarak Apps Komut Dosyası'na dönüştürülür ancak orijinal VBA API'den farklı davranabilir. Aşağıda iki örnek verilmiştir:
VBA API'sı | Apps Komut Dosyası'ndaki davranış |
---|---|
PrintOut | Apps Komut Dosyası'na dönüştürülür ancak Apps Script API, yazıcı yerine bir dosyaya yazdırma yapar. PDF dosyasını manuel olarak yazdırabilirsiniz. |
PrintToFile | Apps Komut Dosyası'na dönüştürür. PDF dosyası, Drive'ım klasörünüze kaydedilir. |
Dönüştürülmemiş öğeler
Aşağıdaki özellikler Makro Dönüştürücü tarafından dönüştürülmez, ancak manuel olarak dönüştürülmesi gerekir:
- Bazı Tetikleyici türleri
- Kullanıcı Formları
- Desteklenmeyen Adlandırılmış aralık türleri
Tetikleyiciler
İki tür tetikleyici (klavye kısayolları ve etkinliğe dayalı bazı tetikleyiciler), Makro Dönüştürücü tarafından dönüştürülmez. Çoğu durumda, bu tetikleyicileri manuel olarak oluşturabilirsiniz.
Klavye kısayolları
Klavye kısayolları eklemek için işlevleri makro olarak içe aktarma adımlarını uygulayın.
Etkinliğe dayalı tetikleyiciler
BeforeClose
veya BeforeSave
gibi VBA kodundan gelen bazı etkinliklerin Apps Komut Dosyası'nda eşdeğerleri yoktur ancak geçici bir çözüm oluşturabilirsiniz.
BeforeClose
gibi etkinlikler için, e-tabloyu kapatmadan önce yapılması gereken işlemi gerçekleştirmek üzere tıklanacak özel bir menü veya düğme oluşturabilirsiniz.
Google E-Tablolar her düzenlemeyi otomatik olarak kaydettiğinden BeforeSave
gibi etkinlikler için geçici çözümler
uygun değildir.
Kullanıcı Formları
VBA'da UserForm, bir uygulamanın kullanıcı arayüzündeki (UI) pencere veya iletişim kutusudur. Makro Dönüştürücü, UserForms'u dönüştürmez. Bunları Apps Komut Dosyası'nda manuel olarak oluşturabilirsiniz.
Kullanıcı formu iletişim kutusu oluşturma
- Bilgisayarınızda, dönüştürülen dosyayı Google E-Tablolar'da açın.
- Üst tarafta, Uzantılar > ** Apps Komut Dosyası**'nı tıklayın.
- Düzenleyicinin solunda,"Dosyalar"ın yanındaki Dosya ekle > HTML'yi tıklayın. HTML dosyasına orijinal VBA Kullanıcı Formunuzla aynı adı vermenizi öneririz.
- Formunuzda görünmesini istediğiniz alanları ve bilgileri ekleyin. HTML formları hakkında daha fazla bilgiyi W3school.com adresinde bulabilirsiniz.
- Solda, dönüştürülmüş kodunuzu içeren Apps Komut Dosyası dosyasını (GS dosyası) tıklayın.
- Kodunuzda zaten bir
onOpen()
tetikleyicisi varsa bunu aşağıdaki kodla güncelleyin. KodunuzdaonOpen()
tetikleyicisi yoksa aşağıdaki kodu ekleyin.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); }
userform_module_name
ifadesinin yerine eklediğiniz HTML dosyasının adını yazın.- En üstte, Projeyi kaydet'i tıklayın.
- Google E-Tablosu'na geçin ve sayfayı yeniden yükleyin.
- Google E-Tablosu'nun en üstünde Kullanıcı Formu > Formu Göster'i tıklayın.
Adlandırılmış aralıklar
Excel'de, adlandırılmış aralıklar, tek bir hücreye veya hücre aralığına verilen adlardır.
Excel dosyanızı Google E-Tablolar'a dönüştürdüğünüzde, bazı adlandırılmış aralık türleri desteklenmediği için dönüştürülmez. Aşağıda iki örnek verilmiştir:
Desteklenmeyen adlandırılmış aralıklar | Açıklama |
---|---|
Tablolar | Google E-Tablolar'da desteklenmez ancak geçici bir çözüm vardır.
Bu adlandırılmış aralığı E-Tablolar'da yeniden oluşturmak için tablo aralığının A1 gösterimine işaret eden adlandırılmış bir aralık ekleyin. Dönüştürülen kodun bu aralığı tanıması için VBA kodunuzda orijinal adlandırılmış aralıkla aynı adı kullanın. |
Aralık listesi | Google E-Tablolar'da desteklenmez. Bunun bir çözümü yoktur. |
İlgili makaleler
- Makro Dönüştürücü eklentisine genel bakış
- VBA makrolarının uyumlu olup olmadığını belirleme
- VBA makrolarını Apps Komut Dosyası'na dönüştürme
- Dönüştürülen kodunuzdaki hataları düzeltme
- Makro Dönüştürücü eğitimlerini izleyin
- Uyumlu VBA API'lerinin listesi