32 bitte çalışan kod 64 bitte çalışmadı

Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
Merhaba arakadaşlar,

Aşağıdaki kodlarım windows 2003 server üzeride yüklü olan excel çalışma kitabımda çalışıyordu.
Bu gün windows 2008 64 bit işletim sistemine alınca çalıştırınca aşağıdaki kodları göstererek aşağıdaki hatayı verdi. Sorunumu nasıl çözebilirim.

Kod:
' AŞAĞIDAKİ KODLARI USER FORM ÜZERİNDE ÇİFT TIKLA YAPIŞTIR.
' TAM EKRAN NORMAL EKRAN MODU

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function ShowWindow Lib "user32" _
(ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long

Hata Mesajı:
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.

Saygılarımla
 
Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
Korhan bey teşekkür ederim cevabınız için.

Evet dediğiniz gibi yaptım hatta as long olanların sonlarına da as longPtr yaptım kısmen düzeldi.

Aynı kitap benim windws7 64 pc de düzgün çalışıyor.
farklı bir windows 7 64 bit işletim sisteminde objec in valid hatası veriyor.
o makine de eksik olan nedir şaştım kaldım.

Saygılarımla.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,018
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İşletim sistemine değilde, ofis sürümünüzün bit değeri önem taşıyor.

Onları kontrol edin.
 
Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
Evet Korhan bey benim kendi ofisim 32bit karşı taraf 64 bit miş peki ne yapmak gerekiyor iki tarafta da hata almadan çalıştırmak için.

Bide ikisi arasında ne fark vardır.

Saygılarımla.
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
502
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2027
Aşağıdaki linkte birçok api kodlamasına ulaşabilirsiniz.

http://www.jkp-ads.com/articles/apideclarations.asp


Her iki versiyonda sorun çıkmadan çalışması için yapı aşağıdaki gibi olmalıdır.

Kod:
#If VBA7 Then
     '64 Bit kodlama
#Else
     '32 Bit kodlama
#End If
Formun başına sadece bu kodları yazmak yeterli olur mu?
Ben Excel 2019 64 bitte hazırladığım userform ları 2010 32 bitte çalıştırabilmek için başka yapmam gereken bir durum var mı
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,018
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Formlarınızda eğer API kullandıysanız önerdiğim şekilde API kodlarınızı düzenlemeniz gerekiyor.
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
502
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2027
Formlarınızda eğer API kullandıysanız önerdiğim şekilde API kodlarınızı düzenlemeniz gerekiyor.
Bu konuda biraz acemiyim ama ekran fotosunu çektim. görüntü dalgalı ama hata mesajı okunuyor sanırım.
ne yapmam gerektiğini biraz daha anlayabileceğim şekilde yardımcı olursanız sevinirim.

215370
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,018
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Siz kütüphane (library) hatası alıyorsunuz.

Bunun için ALT+F11 tuşlarına basıp kod editörünü açın.
TOOLS-REFERENCES menüsünden MISSING ile başlayan satırların varsa tikini kaldırın.

Sorun düzelecektir.
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
502
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2027
Korhan Bey bu işlemi hata mesajı veren bilgisayarda yapacağım değil mi? yoksa çalışmayı yaparken kullanılan bilgisayarda mı olacak. Zira benim bilgisayarda bahsettiğiniz tik yok

Birde sizden bir şey rica etsem acaba...
Textbox kutusunda veri çok uzun ise içine tıklatınca kaydırma çubuğu en sona gidiyor bunu textbox kutusunun başında olması için ne yapmak gerekiyor bir çözümü var mı
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,018
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Evet, hata veren bilgisayarda yapmalısınız.

Konu dışı sorularınızı ayrı başlık açarak sorunuz.
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
502
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2027
İlgili konuda sordum cevap alamadığım için size de sorma ihtiyacı duydum
Diğer konuda yardımcı olduğunuz için teşekkür ederim
Textbox ile sorum aşağıdaki konuda yardımcı olursanız sevinirim.
 
Üst