201

Frage ist gelöst
Wave- Sound aus Excel abspielen

Mitglied: leknilk0815
26.08.2006
16:55:51 Uhr
9915 Aufrufe
4 Antworten
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

Mitglied: Lonesome Walker
Lonesome Walker schreibt am 26.08.2006 um 20:43:00 Uhr
allgemeines Modul erstellen:
01.
Option Explicit  
02.
Declare Function sndPlaySound32 Lib "winmm.dll" _  
03.
Alias "sndPlaySoundA" (ByVal lpszSoundName _  
04.
As String, ByVal uFlags As Long) As Long  
05.
---------- 
06.
Sub Abspielen()  
07.
Call sndPlaySound32("c:\sound\sound.wav", 0)  
08.
End Sub

Oder modifiziert:

01.
Sub Abspielen()  
02.
If Cells(1, 1).Value = 1 Then  
03.
Call sndPlaySound32("c:\sound\sound1.wav", 1)  
04.
End If  
05.
If Cells(1, 1).Value = 2 Then  
06.
Call sndPlaySound32("c:\sound\sound2.wav", 1)  
07.
End If  
08.
If Cells(1, 1).Value = 3 Then  
09.
Call sndPlaySound32("c:\sound\sound3.wav", 1)  
10.
End If  
11.
If Cells(1, 1).Value = 4 Then  
12.
Call sndPlaySound32("c:\sound\sound4.wav", 1)  
13.
End If  
14.
If Cells(1, 1).Value = 5 Then  
15.
Call sndPlaySound32("c:\sound\sound5.wav", 1)  
16.
End If  
17.
If Cells(1, 1).Value = 6 Then  
18.
Call sndPlaySound32("c:\sound\sound6.wav", 1)  
19.
End If  
20.
If Cells(1, 1).Value = 7 Then  
21.
Call sndPlaySound32("c:\sound\sound7.wav", 1)  
22.
End If  
23.
 
24.
End Sub 

Lonesome Walker
Mitglied: leknilk0815
leknilk0815 schreibt am 27.08.2006 um 12:05:43 Uhr
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
Mitglied: Lonesome Walker
Lonesome Walker schreibt am 27.08.2006 um 12:59:11 Uhr
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:

01.
Option Explicit 
02.
Declare Function sndPlaySound32 Lib "winmm.dll" _ 
03.
Alias "sndPlaySoundA" (ByVal lpszSoundName _ 
04.
As String, ByVal uFlags As Long) As Long 
05.
Sub Abspielen() 
06.
If Cells(1, 1).Value = "Dein Wert, bei Zahlen die Hochkommas weglassen" Then 
07.
Call sndPlaySound32("hier der Pfad zu Deiner .wav", 1) 
08.
End If 
09.
If Cells(1, 1).Value = "Hier ein weiterer möglicher Wert, läßt sich beliebig erweitern..." Then 
10.
Call sndPlaySound32("selbstverständlich bei einem anderen Wert auhc ein anderer Pfad.wav", 1) 
11.
End If 
12.
 
13.
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
Mitglied: leknilk0815
leknilk0815 schreibt am 27.08.2006 um 18:46:40 Uhr
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
Mitglied: leknilk0815
leknilk0815 schreibt am 22.10.2006 um 14:03:46 Uhr
Dieser Kommentar wurde von einen Moderator als gelöscht markiert!
    mehr ...Ähnliche Beiträge