Excelde Wav dosyası fonksiyonunda 32 bit 64 bit hatası

Katılım
8 Şubat 2006
Mesajlar
37
Altın Üyelik Bitiş Tarihi
13.10.2023
Merhaba,
32 bit bilgisayar işletim sisteminde çalışan wav doyası programı 64 bitte çalışmıyor. Sorunu nasıl çözebilirim.
---
Combile 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.

hata mesajını veriyor....


Örnek Program

Declare Function sndPlaySound32 Lib "winmm.dll" Alias _
"sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
Sub WavCal_10Saniye()
Call sndPlaySound32("C:\Users\pc\Desktop\BİLGİ YARIŞMASI PRG\10saniye.wav", 1)
End Sub

Teşekkürler
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,354
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
API deklarasyonu 64 bit sisteme göre güncellenmesi gerekir.

Kodu aşağıdaki gibi kullanırsanız çalışacaktır. Aşağıdaki vurgu eklenmiştir.

Kod:
Declare [COLOR=Blue][B]PtrSafe [/B][/COLOR]Function sndPlaySound32 Lib "winmm.dll" Alias _
"sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long

Sub WavCal_10Saniye()
Call sndPlaySound32("C:\Users\pc\Desktop\BİLGİ YARIŞMASI PRG\10saniye.wav", 1)
End Sub
 
Katılım
8 Şubat 2006
Mesajlar
37
Altın Üyelik Bitiş Tarihi
13.10.2023
Teşekkür ederim. Sayenizde Sorun çözüldü.
 
Katılım
8 Şubat 2006
Mesajlar
37
Altın Üyelik Bitiş Tarihi
13.10.2023
32 Bit ve 64 bit bilgisayara göre hata denetemi yaptırıp.
32 bitte 32 bite uygun programı,
64 bitte 64 bite uygun programı,
otomatik kontrolle nasıl yaptırabilirim?

Yardımcı olursanız memnun olurum.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,354
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Bu durumda aşağıdaki gibi kullanmalısınız.

Kod:
#If VBA7 And Win64 Then
    Declare PtrSafe Function sndPlaySound32 Lib "winmm.dll" Alias _
        "sndPlaySoundA" (ByVal lpszSoundName As String, _
        ByVal uFlags As Long) As Long
#Else
    Declare Function sndPlaySound32 Lib "winmm.dll" Alias _
        "sndPlaySoundA" (ByVal lpszSoundName As String, _
        ByVal uFlags As Long) As Long
#End If

Sub WavCal_10Saniye()
Call sndPlaySound32("C:\Users\pc\Desktop\BİLGİ YARIŞMASI PRG\10saniye.wav", 1)
End Sub
 
Katılım
8 Şubat 2006
Mesajlar
37
Altın Üyelik Bitiş Tarihi
13.10.2023
Zeki bey sorun çözüldü.
Yardımınız için çok teşekkür ederim.
 
Üst