klop01
Altın Üye
- Katılım
- 19 Aralık 2016
- Mesajlar
- 638
- Excel Vers. ve Dili
- 2021 Türkçe 64 Bit
- Altın Üyelik Bitiş Tarihi
- 07-02-2028
Aşağıda internetten bulduğum bir kod var.
Kod UserFormun X işaretini göstermemeye yarıyor.
Kod 32 bit excelde hatasız çalışıyor.
64 bit excelde çalışması için Declare ifadesinden sonra PtrSafe yazılması gerekiyormuş. Onu yazdım. Çalışıp çalışmadığını denemek istiyorum.
Bu kodun 64 bit excelde hata verip vermediğini test edip bildirir misiniz?
Kod UserFormun X işaretini göstermemeye yarıyor.
Kod 32 bit excelde hatasız çalışıyor.
64 bit excelde çalışması için Declare ifadesinden sonra PtrSafe yazılması gerekiyormuş. Onu yazdım. Çalışıp çalışmadığını denemek istiyorum.
Bu kodun 64 bit excelde hata verip vermediğini test edip bildirir misiniz?
Kod:
Private Declare PtrSafe Function GetWindowLongA Lib "User32" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare PtrSafe Function SetWindowLongA Lib "User32" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare PtrSafe Function FindWindowA Lib "User32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub UserForm_Initialize()
Dim hwnd As Long
hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", "X", "D") & "Frame", Me.Caption)
SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
End Sub
Ekli dosyalar
-
22.2 KB Görüntüleme: 11