Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Belirtiler
Aşağıdaki senaryoyu inceleyin:
Declare deyimlerini kullanan bir Microsoft Visual Basic for Applications (VBA) makro kodu yazarsınız.
VBA makro kodunuz derleme sabitlerini kullanıyor. Örneğin, makro kodunuz aşağıdaki derleme sabitlerinden birini kullanır:
- #IF VBA7
- #If Win64
Koşullu bir blokta #Else bloğu kullanırsınız. #Else bloğunda, Microsoft Visual Basic for Applications 6.0'da çalışacak şekilde tasarlanmış bir Declare deyimi için söz dizimi kullanırsınız.
Kodu bir Microsoft Office 2010 programının 64 bit sürümünde düzenlersiniz.
#Else bloğundaki Declare deyimini değiştirmeye çalışırsınız.
Bu senaryoda, aşağıdaki hata iletisini alırsınız:
Microsoft Visual Basic for Applications
Compile error:
The code in this project must be updated for use on 64-bit
systems. Please review and update Declare statements and then
mark them with the PtrSafe attribute.
Not
Bu sorun yalnızca VBA makrosunu düzenlediğinizde oluşur. Makroyu çalıştırdığınızda bu sorun oluşmaz.
Çözüm
Bu sorunu çözmek için ,"Derleme hatası"nı yoksayın ve Office 2010 programının 64 bit sürümünde VBA kodunu çalıştırın.
Daha Fazla Bilgi
Sorunu yeniden oluşturma adımları
Microsoft, belirli bir amaç için satılabilirlik ve/veya uygunluk zımni garantileri dahil ancak bunlarla sınırlı olmamak üzere açık veya zımni garanti vermeden, yalnızca illüstrasyon için programlama örnekleri sağlar. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek ekipleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler.
Sağlanan destek seçenekleri ve Microsoft'a başvurma hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
https://support.microsoft.com/contactus
Windows 64 bit işletim sisteminde çalışan Microsoft Excel 2010 64 bit sürümünü başlatın.
Not
Varsayılan olarak, yeni bir çalışma kitabı açılır.
Visual Basic for Applications 7.0 IDE penceresini başlatmak için ALT+F11 tuşlarına basın.
Ekle menüsünden Modül'e tıklayın.
Görüntülenen kod penceresinde aşağıdaki kodu kopyalayıp yapıştırın:
#If VBA7 Then Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr) #Else Private Declare Sub Sleep Lib "kernel32" (ByVal ms as Long) #End IfHer Declare deyiminde, "ms" olan herhangi bir parametrenin adını el ile "milisaniye" olarak değiştirin.
İkinci Declare deyimini değiştirdiğinizde, Visual Basic for Applications 7.0 PtrSafe kullanmanız gerekeceğini belirten bir hata bildirir. Ancak, satır yalnızca Visual Basic for Applications 6.0'da çalışan bir bölümde olduğundan rapor yanlıştır. VBA 6.0 PtrSafe kullanmaz. Bu nedenle, hata iletisini güvenle yoksayabilirsiniz.