Bu kılavuzda, Macro Converter'ı kullanarak Visual Basic for Applications (VBA) kodunu Apps Komut Dosyası'na dönüştürürken karşılaşabileceğiniz yaygın sorunlar listelenmektedir.
Dosyaları yazdırma
Dosyaları yazdıran VBA API'leri otomatik olarak Apps Komut Dosyası'na dönüştürülür ancak orijinal VBA API'sinden farklı şekilde davranabilir. Aşağıdaki tabloda iki örnek gösterilmektedir:
| VBA API | Apps Komut Dosyası'ndaki davranış |
|---|---|
PrintOut | Apps Komut Dosyası'na dönüştürülür ancak Apps Komut Dosyası API'si yazıcı yerine dosyaya yazdırır. PDF dosyasını manuel olarak yazdırın. |
PrintToFile | Apps Komut Dosyası'na dönüştürülür. PDF dosyası, Drive'ım klasörünüze kaydedilir. |
Dönüştürülmemiş öğeler
Aşağıdaki özellikler Macro Converter tarafından dönüştürülmez ve manuel olarak dönüştürülmesi gerekir:
- Bazı Tetikleyici türleri
- Userforms
- Desteklenmeyen adlandırılmış aralık türleri
Tetikleyiciler
İki tür tetikleyici (klavye kısayolları ve bazı etkinliğe dayalı 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
VBA kodundaki bazı etkinliklerin (ör. BeforeClose veya BeforeSave) Apps Komut Dosyası'nda karşılığı 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, değişiklikleri siz yaparken otomatik olarak kaydettiği için BeforeSave etkinliğiyle ilgili geçici çözümler mümkün değildir.
Userforms
VBA'da UserForm, bir uygulamanın kullanıcı arayüzündeki (UI) pencere veya iletişim kutusudur. Macro Converter, UserForm'ları dönüştürmez. Bunları Apps Komut Dosyası'nda manuel olarak oluşturun.
Kullanıcı formu iletişim kutusu oluşturma
- Bilgisayarınızda, dönüştürülen dosyayı E-Tablolar'da açın.
- Üst tarafta Uzantılar > ** Apps Komut Dosyası**'nı tıklayın.
- Düzenleyicinin sol tarafında,"Dosyalar"ın yanındaki Dosya ekle > HTML'yi tıklayın. HTML dosyasına, orijinal VBA UserForm'unuzla aynı adı vermenizi öneririz.
- Formunuzda görünmesini istediğiniz alanları ve bilgileri ekleyin. W3school.com adresinden HTML formları hakkında daha fazla bilgi edinin.
- Sol tarafta, dönüştürülmüş kodunuzu içeren Apps Komut Dosyası dosyasını (GS dosyası) tıklayın.
- Kodunuzda zaten bir
onOpentetikleyicisi varsa aşağıdaki kodla güncelleyin. KodunuzdaonOpentetikleyicisi 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_nameyerine, eklediğiniz HTML dosyasının adını yazın.- Üstte Projeyi kaydet'i tıklayın.
- Google E-Tablosu'na geçin ve sayfayı yeniden yükleyin.
- Google E-tablosu'nun üst kısmında 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 dosyalarını E-Tablolar'a dönüştürdüğünüzde, desteklenmediği için belirli adlandırılmış aralık türleri dönüştürülmez. Aşağıdaki tabloda yaygın örnekler listelenmiştir:
| Desteklenmeyen adlandırılmış aralıklar | Açıklama |
|---|---|
| Tablolar | E-Tablolar'da desteklenmez ancak geçici çö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 bir adlandırılmış aralık ekleyin. Dönüştürülen kodun tanıması için VBA kodunuzda orijinal adlandırılmış aralıkla aynı adı kullanın. |
| Aralık listesi | E-Tablolar'da desteklenmez. Bu sorun için geçici bir çözüm yoktur. |
İlgili makaleler
- Macro Converter Google Workspace 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