996 Aufrufe
Gefragt in BS-Sonstige von addeguddi Experte (2.5k Punkte)
Hallo,

habe eine Frage wie kann ich erreichen, dass meine Wave Dateien die von 0 bis 180  deklariert sind und eine mit Game Over ansagen bei Spielende wenn in den besagten Zellen z. B. in Zelle B20 die Zahl 78 erscheint soll die dazu gehörige Wave Datei die Nr. 78 oder in Zelle C20 die Zahl 131  die Wave Datei  mit der Nr. 131 dann ansagen wen dies Zahlen vorhanden ist.

Für eine Lösung wäre ich Dankbar.

Gruß Adde

18 Antworten

+1 Punkt
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Adde,

ich habe mir mal deine Datei aus der anderen Anfrage bezüglich der Einbindung von Sounddateien angesehen. Du hast die Sounddateien mit Hyperlinks in die einzelnen Zellen mit dem Wurfergebnissen verlinkt. Da du aber auch mit einem Doppelklick auf die Wurfergebnisse diese übernehmen willst, kommt es hier zu Komplikationen.

Ich würde auch die Sounddateien über VBA abspielen lassen. Ein entsprechendes Makro, das ich hier gefunden habe, habe ich für deine Zwecke angepasst.

Ergänze das Makro mit dem BeforeDoubleKlick-Ereignis im jeweiligen Tabellenblatt wie folgt:

Füge vor dem End Sub die folgende Zeile ein:

If lngWurf > 0 Then Start_Ansage (lngWurf)

Füge den folgenden Code in ein allgemeines Modul ein:

Option Explicit

'Funktion "SendMessage" deklarieren
Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, _
ByVal lParam As Long) As Long
'Funktion "FindWindow" deklarieren
Private Declare PtrSafe Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Sub Start_Ansage(lngWurf As Long)
'Variablen deklarieren
Dim MediaPlayer As Variant
Dim strSounddatei As String
Dim strPfad As String
'Pfad, in der die Sounddateien liegen - Anpassen
strPfad = "C:\Musik\"
'Name der abzuspielenden Datei Ermittenln
strSounddatei = lngWurf & ".mp3"
'Mit einem Shell-Befehl den Mediaplayer aufrufen im Hintergrund und die
'Sounddatei abspielen
MediaPlayer = Shell("C:\Program Files (x86)\Windows Media Player\wmplayer.exe """ _
& strPfad & strSounddatei & """", vbHide)
End Sub

Sub Stop_Ansage()
'Funktionen "SendMessage" und "FindWindow" starten
SendMessage FindWindow(vbNullString, "Windows Media Player"), &H10, 0, 0
End Sub

Den Pfad, in dem deine Sounddateien und die Endungen musst du ggf. anpassen. Wenn ich mir deine Beispieldatei ansehe, gehe ich davon aus, dass die Sounddateien entsprechend den Wurfergebnissen heißen, also z.B. 1.mp3.

Probiere das Makro am besten mal in einem Blatt aus, in dem du keine Hyperlinks bei den Wurfergebnissen hinterlegt hast. Wählst du mit einem Doppelklick ein Wurfergebnis aus, wird die entsprechende Sounddatei abgespielt.

Gruß

M.O.

0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)

Hallo M.O.

vorab erst einmal heartlichen Dank für die Mühe die du mir machst und gemacht hast. Werde es ausprobieren und mein Feedback später mitteilen, da ich im Moment, na ja, ist auch nicht so wichtig.

Bis dahin Liebe Grüße aus Hessen

Gruß Adde

0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)

Hallo M.O.

nochmals vielen Dank.

Habe das gemacht, was du vorgeschlagen hast. Leider kein Erfolg.

Fragen: 1. Unter Private Declare steht User 32 hat das was mit PC zu tun (BIT) habe 64 oder hat das keine Bedeutung!

2. muss ich den Pfad von jeder MP3 einpflegen.

Dateityp= MP3-Audioformat (mp3.) ist das der Pfad? Diese sind alle im Ordner Musik Ordner Dart Ansage hinterlegt wobei hinter dem Symbol nur die Zahl steht oder ist es nur die Zahl die als Pfad eingegeben werden muss.

'Name der abzuspielenden Datei Ermittenln 
strSounddatei = lngWurf & ".mp3" 
soll hier der Pfad eingegeben werden?
Grüße Adde
+1 Punkt
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Adde,

bei der Declare-Anweisung brauchst du nichts zu ändern.

Den Pfad musst du im Makro "Start_Ansage" ändern:

'Pfad, in der die Sounddateien liegen - Anpassen
strPfad = "C:\Musik\"

Bei dir müsste der Pfad wohl so sein:

'Pfad, in der die Sounddateien liegen - Anpassen
strPfad = "C:\Musik\Dart Ansage"

Oder falls du den Ordner Musik unter Windows meinst dann in etwa so:

strPfad = "C:\Users\Adde\Music\Dart Ansage\"

Beachte bitte, dass die Pfadangabe mit einem Backslash enden muss.

Gruß

M.O.

0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)
Hallo M.O,

habe alles so gemacht wie du es mir geschrieben hast, doch leider kommt das Abspielen nicht zur Geltung.

1)  Ich habe die  Option Explicit in ein Modul eingefügt.

2) bei BforeDoubleclick vor End Sub den

End If

If lngWurf > 0 Then Start_Ansage (lngWurf)

End Sub

eingefügt.

3) Habe den strPfad Sound eingegeben, es erfolgt leider keine Ansage. Alles andere wird ausgeführt.

Dann habe ich den Code aus dem Modul in die Tabelle in der die Ergebnisse per Klick angezeigt werden eingefügt, kommt die Fehlermeldung:

Fehler beim Kompielieren:

Nach End Sup; End Function oder End Proberty können nur Kommentare stehen

Was mach ich falsch?

Gruß Adde
+1 Punkt
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Adde,

was du falsch machst, kann ich dir leider auch nicht sagen.

Im VBA-Projekt des Arbeitsblatts sollte nur der Code mit Before_Doubleklick stehen.

Was du mal prüfen kannst:

  • Noch einmal prüfen, ob der Pfad richtig ist und die Pfadangabe im Makro mit \ abschließt
  • Stimmen die Namen der Sounddateien (Die Dateien müssen z.B. 1.mp3 heißen)
  • Stimmt die Endung (mp3, wav)
  • Stimmt der Pfad für den Mediaplayer (C:\Program Files (x86)\Windows Media Player\wmplayer.exe - Pfad bei Windows 10)

Wenn alles stimmt, dann kannst du mal in das allgemeine Modul das folgende Testmakro einfügen und ausführen:

Sub Soundtest

Start_Ansage (1)
End Sub

Dann solltest du die Ansage für die 1 hören. Beachte bitte, dass der Mediaplayer im Hintergrund geöffnet wird, d.h. du siehst kein Symbol in der Taskleiste.

Gruß

M.O.

0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)

Hallo M. O.

nochmals vielen Dank für die Antwort.

Also ich kann machen was ich will es klappt einfach nicht.

Letzte Frage für diese Anliegen, vielleicht schaffe ich es noch.Die Dateien liegen wie erwähnt im Ordner Musik habe den Pfad eingegeben, die Dateien sind ohne Endung das heißt, man sieht den Notenschlüssel für den Player daneben  steht nur eine Zahl. Kann es daran Liegen oder muss für jede Zahl der Pfad eingeben.

Das wird mir unter Eigenschaften angezeigt :Dateityp= MP3-Audioformat (mp3.) sont nur die Zahl

Gruß Adde

+1 Punkt
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Adde,

im Windows-Explorer werden bekannte Dateien ohne Endung dargestellt. Das ist also korrekt.

Wie heißt denn dein Pfad für die Musikdateien?

Gruß

M.O.
0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)
Hallo M.O.

Danke für die Antwort. Der Pfad den ich eingegeben habe lautet wie folgt.

'Pfad, in der die Sounddateien liegen - Anpassen
strPfad = "C:\User\Music\Dart Setup und Sound\"

Gruß Adde
+1 Punkt
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Adde,

normalerweise heißt es in der Pfadangabe "Users" statt "User" und es kommt noch der Name des Users vor, der angemeldet ist, also in etwa so:

"C:\Users\Adde\Music\Dart Setup und Sound\"

Überprüfe also bitte noch einmal den Pfad.

Gruß

M.O.
...