32/64 Bit Olayı

Katılım
19 Eylül 2012
Mesajlar
303
Excel Vers. ve Dili
2010 türkçe
Değerli hocalarım Userform'da kullandığım aşağıdaki kod sadece 32 bit ofislerde çalışmaktadır. Aynı kodu hem 32 hem de 64 bit ofislerde kullanabilmek için nasıl bir değişiklik yapılması gerekiyor.

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
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const GWL_EXSTYLE = (-20)
Private Const HWND_TOP = 0
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_HIDEWINDOW = &H80
Private Const SWP_SHOWWINDOW = &H40
Private Const WS_EX_APPWINDOW = &H40000
Private Const GWL_STYLE = (-16)
Private Const WS_MINIMIZEBOX = &H20000
Private Const SWP_FRAMECHANGED = &H20
Dim hWnd As Long, lngRet As Long, hIcon As Long, WStyle As Long, Result As Long
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

İlgili kodlara PtrSafe ekleyip deneyiniz.

Private Declare PtrSafe Function........

Kolay gelsin.
 
Katılım
19 Eylül 2012
Mesajlar
303
Excel Vers. ve Dili
2010 türkçe

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Eklediğiniz kod için yeterli olur kanısındayım, ben benim dosyamda sonuç almıştım.

Deneyin, çözüm olmamış ise başka sebepleri olabilir,

Teşekkür ederim.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
.

Açıklamanın tümünü okuyun. Ayrıca 64 bit kullanıyorsanız, eklediğim ilgili dosyayı yükleyin. Sonra bu eklenen dosyayı kullanarak hem 32 bit ve hem de 64 bite kullanacağınız kodları uyarlayın. Ki; soruda bu.

.
 
Üst