اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

تشغيل ملف صوتي بامتداد WAV عند تحديد خلية معينة


الردود الموصى بها

السلام عليكم ورحمة الله وبركاته

إخواني وأحبابي في الله

بدايةً من هذا الموضوع لن أقوم بإرفاق ملفات في الموضوع وسأترك لكم التطبيق العملي بأنفسكم (حتى نتطور) ... كفانا ملفات مرفقة جاهزة :wallbash:

فرأيي أن الملفات المرفقة الجاهزة تبعث على الكسل بشكل كبير .. كل ما يقوم به العضو هو تحميل الملف المرفق ثم تجربته ولو تيسر له الأمر قليلاً لألقى نظرة على العمل وعلى الأكواد الموجودة ..وقلما تجد من يدرس الملف المرفق بهدف التعلم :Rules:

من ثم .. فهذا الموضوع موجه لمن يريد ويرغب بالتعلم وليس لمن يريد الملفات الجاهزة ..

سأقوم إن شاء ربي بسرد الخطوات ببساطة شديدة يفهمها الجميع (المبتديء قبل المحترف)

نبدأ على بركة الله

افتح ملف إكسيل جديد (خطوة صعبة بس أنا عارف إن 90% هيقدر على الخطوة دي :wink2:)

احفظ الملف الجديد بامتداد xlsm أو Excel Macro-Enabled .. لمعرفة المزيد يمكنك الإطلاع على موضوع (بداية الطريق لإنقاذ الغريق)

روح لمحرر الاكواد عن طريق Alt + F11 وأدرج موديول جديد من خلال القائمة Insert ثم الأمر Module

الصق الكود التالي في الموديول

#If VBA7 Then
    Public Declare PtrSafe Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
#Else
    Public Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
#End If

Sub PlayWavFile(WavFileName As String, Wait As Boolean)
    If Dir(WavFileName) = "" Then Exit Sub
    If Wait Then
        sndPlaySound WavFileName, 0
    Else
        sndPlaySound WavFileName, 1
    End If
End Sub

Sub PlaySoundNotesInExcel(CellAddress As String)
    Dim SoundFileName As String
    SoundFileName = ""
    On Error Resume Next
    SoundFileName = Range(CellAddress).Comment.Text
    On Error GoTo 
    
    If SoundFileName = "" Then Exit Sub
    If InStr(1, SoundFileName, Chr(10)) > 0  Then
        SoundFileName = Left(SoundFileName, InStr(1, SoundFileName, Chr(10)) - 1)
    End If
    PlayWavFile SoundFileName, False
End Sub

هرفق ملف صوتي بامتداد WAV للتطبيق عليه .. الملف باسم TestWAV

فك الضغط عن الملف المضغوط هتلافي اسم الملف TestWAV اعمل عليه كليك يمين ثم الأمر Properties أي خصائص

روح للتبويب Security (بس اوعى بتوع الأمن يقفشوك) ..المهم هتلاقي سطر بهذا الشكل (مسار الملف الصوتي)

C:\Users\Future\Desktop\TestWAV.wav

دا هيكون شكل المسار للملف ..طبعاً هيختلف من جهاز لجهاز آخر .. المهم انسخ سطر المسار ده

 

الخطوة التالية ..شوف أي خلية تريد أن يعمل الصوت عند تحديدها ليكن الخلية G7 (أصلي بحب رقم 7 والعمود G هو العمود السابع وفي نفس الوقت الصف السابع .. متدقش على كلامي)

كليك يمين على الخلية (بزر الماوس الأيمن يا حاج أيمن .. شايف واحد بيبص على الماوس مفيش مشكلة المهم يعرف يطبق)

اختر الأمر Insert Comment أي إدراج تعليق ، ممكن تلاقي كلام امسحه وخلي التعليق فاضي ، وأخيراً ضع المسار اللي نسخته من شوية عن طريق Ctrl + V أي لصق المنسوخ .. لحد هنا بس خلاص

 

الخطوة التالية : روح اعمل كليك يمين على اسم ورقة العمل النشطة اللي فيها الخلية الهدف G7 المطلوب تشغيل الملف الصوتي عند تحديدها

كليك يمين على اسم ورقة العمل ثم اختر الأمر View Code والصق الكود التالي في حدث ورقة العمل

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    PlaySoundNotesInExcel (Target.Address)
End Sub

سؤال أخير . هل العمل سيكون على خلية واحدة فقط ؟؟

الإجابة : لا ..براحتك ...كل ما عليك بعد كدا لو عايز تشغل الملف الصوتي أو أي ملف صوتي آخر ..إنك تاخد المسار وتروح للخلية وتدرج تعليق وفي التعليق تضع مسار الملف الصوتي المراد تشغيله وبس خلاص

أرجو أن يكون الشرح سهل وبسيط وسلس ... ويكون التطبيق فيه مشاكل (أيوا فيه مشاكل عشان يكون فيه استفسارات ونتعلم)

دمتم على طاعة الله :fff::fff::fff:

كان معكم أخوكم أبو البراء من منتدى أوفيسنا

 

حمل الملف من هنا

  • Like 5
رابط هذا التعليق
شارك

أخي الحبيب ياسر فتحي

بارك الله فيك وجزيت خيراً على اهتمامك

لا ترفق الملف ..ارفع الملف على رابط خارجي وابعته في رسالة خاصة ..

ولو فيه أي نقطة غير واضحة يا ريت تستفسر عنها عشان يكون الموضوع شامل

تقبل تحياتي

رابط هذا التعليق
شارك

السّلام عليكم و رحمة الله و بركاته

بارك الله فيك  و جزاك الله خيرًا ..أستاذنا القدير "ياسر خليل" على هذا الامتحان المهني

خلّصت الواجب ..و سأبعثه .. لا تخفْ ..  لأنّه طلع 0 على عشرة .. اللّمسة الأخيرة تنقصني

فائق إحتراماتي

 

 

 

yasser.rar

  • Like 1
رابط هذا التعليق
شارك

قال معايا الحمد لله رب العالمين ابعته ولا بلاش

وخصوصا في الصف سبعه عمود سبعه

:wink2:

معلش انا تلميذ رخم بقي

وعجبني الكود كدا

DGFGFDGFDHGF.thumb.png.1292e560f7d5fc398

تم تعديل بواسطه ياسر العربى
  • Like 1
رابط هذا التعليق
شارك

السّلام عليكم و رحمة الله و بركاته

بارك الله فيك  و جزاك الله خيرًا ..أستاذنا القدير "ياسر خليل" على هذا الامتحان المهني

خلّصت الواجب ..و سأبعثه .. لا تخفْ ..  لأنّه طلع 0 على عشرة .. اللّمسة الأخيرة تنقصني

فائق إحتراماتي

 

 

 

yasser.rar

اخي عبد العزيز انت اخويا ولازم اساعدك

اتفضل التوضيح هنا

بعد اذن الغالي

انا سايب الكومنت فاضي عشان تطبق بردو

 

TestWAV.rar

تم تعديل بواسطه ياسر العربى
  • Like 1
رابط هذا التعليق
شارك

أخي الحبيب عبد العزيز

في انتظار التطبيق .. ويا ريت تطبق ع الجديد .. اللي هو عمله أخونا ياسر العربي

أخي الحبيب الغالي ياسر العربي

إضافة في قمة الروعة بالتأكيد .. كونك تجعل مسار الملف الصوتي في نفس مسار المصنف (ودا أمر مستحب بالنسبة لي) بس ممكن ييجي واحد رخم زي حالاتي بردو ويقولك لا أنا مش عايز الملف الصوتي في نفس مسار المصنف (رخامة بقا)

عموماً إضافة جميلة وأنا أحبذها وأررجحها ودا التعديل الجديد للأخ ياسر العربي

الكود بالكامل في الموديول

#If VBA7 Then
    Public Declare PtrSafe Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
#Else
    Public Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
#End If

Sub PlayWavFile(WavFileName As String, Wait As Boolean)
    If Dir(WavFileName) = "" Then Exit Sub
    If Wait Then
        sndPlaySound WavFileName, 0
    Else
        sndPlaySound WavFileName, 1
    End If
End Sub

Sub PlaySoundNotesInExcel(CellAddress As String)
    Dim SoundFileName As String, MyPath As String
    SoundFileName = ""
    On Error Resume Next
    MyPath = ThisWorkbook.Path & "\"
    SoundFileName = MyPath + Range(CellAddress).Comment.Text
    On Error GoTo 0
    
    If SoundFileName = "" Then Exit Sub
    If InStr(1, SoundFileName, Chr(10)) > 0 Then
        SoundFileName = Left(SoundFileName, InStr(1, SoundFileName, Chr(10)) - 1)
    End If
    PlayWavFile SoundFileName, False
End Sub

تم إضافة سطر وتعديل سطر

MyPath = ThisWorkbook.Path & "\"
    SoundFileName = MyPath + Range(CellAddress).Comment.Text

بارك الله فيك أخي الغالي ياسر وفي انتظار المزيد من الرخامات المستحبة لي

  • Like 3
رابط هذا التعليق
شارك

  • 7 months later...

ا / ياسر 

اعتقد و الله اعلم فى مشكلة فى ظهور رقم صفر فى الكود فى سطرين فى المشاركة الاولى

sndPlaySound WavFileName, 
If InStr(1, SoundFileName, Chr(10)) >  Then

انا عملت كل الخطوات و لم ينفذ الكود

ما عرفتش المشكلة الا من مرفق الاستاذ عبد العزيز

المرفقات مهمة بردو يا استاذ ياسر

رابط هذا التعليق
شارك

أخي الكريم صلاح الصغير

معك حق المرفقات مهمة للغاية ، ولكن يجب ألا تعتمد عليها بشكل أساسي لابد أن تتعلم أن تطبق الكود بنفسك ، وصدقني لن تتعلم إلا إذا صادفتك مشكلات ، فالبرمجة الأصل فيها حل المشكلات

تقبل تحياتي

  • Like 1
رابط هذا التعليق
شارك

في ٣٠‏/٦‏/٢٠١٦ at 10:48, ياسر خليل أبو البراء said:

أخي الكريم صلاح الصغير

معك حق المرفقات مهمة للغاية ، ولكن يجب ألا تعتمد عليها بشكل أساسي لابد أن تتعلم أن تطبق الكود بنفسك ، وصدقني لن تتعلم إلا إذا صادفتك مشكلات ، فالبرمجة الأصل فيها حل المشكلات

تقبل تحياتي

اخى الكريم / ياسر

و الله جربته خطوة خطوة زى ما قلتلك فى المشاركة السابقة

لكن الكود كان ناقص و انت عارف اخوك مالوش فى الاكواد بس و الله بحاول

 

  • Like 1
رابط هذا التعليق
شارك

ما هو الجزء الناقص لتصحيح الموضوع أخي الكريم صلاح؟

يرجى الإفادة حتى لا يقع غيرك من إخوانك في مثل ما وقعت فيه :wink2:

رابط هذا التعليق
شارك

ا / ياسر

رقم 0 فى اخر السطر غير مكتوب بالنسبة للسطر الاول

و ايضا رقم 0 غير مكتوب بعد علامة < بالنسبة للسطر التانى

 

sndPlaySound WavFileName, 
If InStr(1, SoundFileName, Chr(10)) >  Then

 

رابط هذا التعليق
شارك

كلامك صحيح يبدو أن الخطأ في المشاركة الأولى ، وقد تم تصحيحها الآن

ولكن في مشاركة أخرى تم التصحيح والإضافة ..

الأفضل لتطبيق أي موضوع متابعة الردود لكي تستطيع التطبيق بشكل صحيح ..

وسأترك لك أن تقوم بإرفاق ملف بعد التطبيق ليستفيد الأعضاء الجدد من الموضوع بشكل تطبيقي

تقبل تحياتي وكل عام وأنت بخير

 

رابط هذا التعليق
شارك

أخي العزيز صلاح

الله ينور عليك ..تمام التمام

وكدا يكون فيه ملف تطبيقي في الموضوع عشان محدش يتعثر مرة تانية

بارك الله فيك وزادك علماً وحلماً

تقبل تحياتي وكل عام وأنت بخير

 

  • Like 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information