leknilk0815
Goto Top

Wave- Sound aus Excel abspielen

Wave- Sound aus Excel bei erfüllung einer Bedingung abspielen

Hallo zusammen,

hat hier vielleicht jemand eine Ahnung, wie man es anstellt, daß in einem Excelsheet ein Sound abgespielt wird, wenn eine Bedingung durch eine Eingabe erfolgreich erfüllt wird?

also z.B.:
wenn(a1="OK";tata.wav;"nix") --- (so gehts natürlich nicht, war nur als Beispiel gemeint)
oder evt. analog zu einer bedingten Formatierung, nur daß statt z.B. die Feldfarbe zu wechseln dann ein Sound gespielt wird.

Danke mal vorab

Gruß - Toni

Content-ID: 38799

Url: https://administrator.de/contentid/38799

Ausgedruckt am: 25.11.2024 um 23:11 Uhr

16568
16568 26.08.2006 um 20:43:00 Uhr
Goto Top
allgemeines Modul erstellen:
Option Explicit 
Declare Function sndPlaySound32 Lib "winmm.dll" _   
Alias "sndPlaySoundA" (ByVal lpszSoundName _   
As String, ByVal uFlags As Long) As Long 
----------
Sub Abspielen() 
Call sndPlaySound32("c:\sound\sound.wav", 0)   
End Sub

Oder modifiziert:

Sub Abspielen() 
If Cells(1, 1).Value = 1 Then 
Call sndPlaySound32("c:\sound\sound1.wav", 1)   
End If 
If Cells(1, 1).Value = 2 Then 
Call sndPlaySound32("c:\sound\sound2.wav", 1)   
End If 
If Cells(1, 1).Value = 3 Then 
Call sndPlaySound32("c:\sound\sound3.wav", 1)   
End If 
If Cells(1, 1).Value = 4 Then 
Call sndPlaySound32("c:\sound\sound4.wav", 1)   
End If 
If Cells(1, 1).Value = 5 Then 
Call sndPlaySound32("c:\sound\sound5.wav", 1)   
End If 
If Cells(1, 1).Value = 6 Then 
Call sndPlaySound32("c:\sound\sound6.wav", 1)   
End If 
If Cells(1, 1).Value = 7 Then 
Call sndPlaySound32("c:\sound\sound7.wav", 1)   
End If 

End Sub 

Lonesome Walker
leknilk0815
leknilk0815 27.08.2006 um 12:05:43 Uhr
Goto Top
Servus Lonesome Walker,

danke für Deine Mühe, leider bin ich in VB absoluter Anfänger, mir fehlt der Ansatz, was ich mit dem Script anfangen soll.
Das weitere Problem ist, daß diese Lösung dann vermutlich nur auf dem Rechner läuft, auf dem es eingerichtet wurde. Es sollte aber so laufen, daß der Sound auf jedem Rechner abgespielt wird.
Es ist nun nicht so eminent wichtig, daß man sich eine Mordsarbeit damit macht, für einen Tip wäre ich trotzdem dankbar (einen gewissen Lerneffekt hat's in jedem Fall).

Danke und Gruß - Toni
16568
16568 27.08.2006 um 12:59:11 Uhr
Goto Top
Okay,

Extras, Makro, VB-Editor

Dann rechtsklick auf VBAProjekt (Mappe1)->Einfügen->Modul
(das Mappe 1 kann bei Dir anders heißen; Du mußt hier die geöffnete Mappe auswählen...)

Jetzt sollte das Modul angelegt worden sein, und Du brauchst hier nur folgendes per Copy&Paste reinschieben:

Option Explicit
Declare Function sndPlaySound32 Lib "winmm.dll" _  
Alias "sndPlaySoundA" (ByVal lpszSoundName _  
As String, ByVal uFlags As Long) As Long
Sub Abspielen()
If Cells(1, 1).Value = "Dein Wert, bei Zahlen die Hochkommas weglassen" Then  
Call sndPlaySound32("hier der Pfad zu Deiner .wav", 1)  
End If
If Cells(1, 1).Value = "Hier ein weiterer möglicher Wert, läßt sich beliebig erweitern..." Then  
Call sndPlaySound32("selbstverständlich bei einem anderen Wert auhc ein anderer Pfad.wav", 1)  
End If

End Sub

Das ganze mußt Du jetzt auf Deine *.wav-Datei anpassen, ebenso auf Deinen gewünschten Wert.

Und da dieses Makro erst ausgeführt wird, wenn ein Trigger ausgelöst wurde, weist Du dieses Makro einer Schaltfläche zu.
Bei Klick auf diese Schaltfläche prüft dann das Makro, ob die Bedingung erfüllt ist.

Als wav-Dateien kannst Du die aus dem WINNT/Windows-/Media-Verzeichnis nehmen, sind unter w2k und XP meines Wissens gleich.
Ansonsten mußt Du immer die wav mit Deiner Tabelle weitergeben.

Excel selbst kann mit Sound nicht umgehen; um VBA wirst Du hier (meines Wissens) nicht umhinkommen.


Lonesome Walker
leknilk0815
leknilk0815 27.08.2006 um 18:46:40 Uhr
Goto Top
Hi Lonsam,

danke für das Script, "geht" einwandfrei!
Excel- Sheet noch ein bisschen umbauen, dann tut's auch so, wie ich es brauche.

Gruß - Toni