Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sound abspielen

Sound abspielen
06.11.2006 00:27:11
Susanne99
Hallo,
habe hier Code, der bei Zelle 2,1 einen Sound abspielt, sofern sich der Wert ändert. Ich möchte den Code um weitere Zellen, wo andere Sounddateien abgespielt werden, erweitern. Einfaches Einfügen weiterer

Sub (mit geänderten Textzellen und Wavepfeaden natürlich) zeigen nicht die erhoffte Wirkung. Hat jemand einen Tip, wie der Code aussehen muß?
Option Explicit
Declare 

Function sndPlaySound32 Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName _
As String, ByVal uFlags As Long) As Long

Sub abspielen()
Static vntAlterWert As Variant
If ActiveSheet.Cells(2, 1).Value > 0 Then
If ActiveSheet.Cells(2, 1).Value <> vntAlterWert Then
vntAlterWert = ActiveSheet.Cells(2, 1).Value
Call sndPlaySound32("c:\beep.wav", 0)
End If
End If
Application.OnTime Now + TimeSerial(0, 0, 1), "abspielen"
End Sub

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sound abspielen
06.11.2006 09:29:38
Rudi
Hallo,
besser im Change-Ereignis der Tabelle abfragen.
in den Code der Tabelle:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target > 0 Then
Select Case Target.Address(0, 0)
Case "A2": Call sndPlaySound32("c:\beep.wav", 0) 'Änd. in A2
Case "A3": Call sndPlaySound32("c:\beep2.wav", 0)  'Änd in A3
'weitere Adressen
End Select
End If
End Sub

Gruß
Rudi
AW: Sound abspielen
06.11.2006 10:40:05
Susanne99
Code sieht ja ganz gut aus. Aber irgendwie klappt es nicht.
Option Explizit brache ich ja wohl vorher im Code. Debug meldet aber sofort Fehler.
Option Explicit
Declare Function sndPlaySound32 Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName _
As String, ByVal uFlags As Long) As Long

Private Sub Worksheet_Change(ByVal Target As Range)
If Target > 0 Then
Select Case Target.Address(0, 0)
Case "A2": Call sndPlaySound32("c:\message.wav", 0) 'Änd. in A2
Case "A3": Call sndPlaySound32("c:\beep2.wav", 0)  'Änd in A3
'weitere Adressen
End Select
End If
End Sub

Anzeige
AW: Sound abspielen
06.11.2006 12:33:13
Susanne99
Code sieht ja ganz gut aus. Aber irgendwie klappt es nicht.
Option Explizit brache ich ja wohl vorher im Code. Debug meldet aber sofort Fehler.
Option Explicit
Declare Function sndPlaySound32 Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName _
As String, ByVal uFlags As Long) As Long

Private Sub Worksheet_Change(ByVal Target As Range)
If Target > 0 Then
Select Case Target.Address(0, 0)
Case "A2": Call sndPlaySound32("c:\message.wav", 0) 'Änd. in A2
Case "A3": Call sndPlaySound32("c:\beep2.wav", 0)  'Änd in A3
'weitere Adressen
End Select
End If
End Sub

Anzeige
AW: Sound abspielen
06.11.2006 13:02:45
Rudi
Hallo,
welchen Fehler? Und wo?
Gruß
Rudi
AW: Sound abspielen
06.11.2006 14:20:28
Susanne99
Blau unterlegt ist
Declare Function sndPlaySound32 Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName _
As String, ByVal uFlags As Long) As Long
und es kommt die Meldung: "Fehler beim Kompilieren.
Konstaten, Zeichenfolgen fester Länge, benutzerdefinierte Zahlenfelder und Declare-Anweisungen sind als Publich Elemente von Objektmodulelne nicht zugelassen."
Stell ich den Teil:
Option Explicit
Declare Function sndPlaySound32 Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName _
als Modul zur Verfügung und deinen als Tabelle1-Code, kommt die Meldung nicht, allerdings hab ich dann das Problem: Wie starte ich das Makro?
Gruß
Susanne
Anzeige
AW: Sound abspielen
06.11.2006 14:45:09
Rudi
Hallo,
als Modul zur Verfügung und deinen als Tabelle1-Code, kommt die Meldung nicht,
so ist es richtig!
allerdings hab ich dann das Problem: Wie starte ich das Makro?
Makro wird bei Änderung in der Tabelle gestartet.
Gruß
Rudi
AW: Sound abspielen
06.11.2006 16:19:11
Susanne99
Hatte es probiert. Es tat sich eigentlich nichts.
AW: Sound abspielen
06.11.2006 15:27:41
Kurt
Hi,
es muss ein Private davor:
Private Declare Function sndPlaySound32 Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName _
As String, ByVal uFlags As Long) As Long
mfg Kurt
AW: Sound abspielen
06.11.2006 16:23:23
Susanne99
Dies in Code eingeben: Kein Erfolg leider.(allerdings auch keine Fehlermeldung beim Debuggen. Ein erster Erfolg. Aber halt kein Ergebnis, wenn sich der Zellwert ändert. Wavedatei funktioniert auch problemlos mit anderne Makros.
Option Explicit
Private Declare Function sndPlaySound32 Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName _
As String, ByVal uFlags As Long) As Long

Private Sub Worksheet_Change(ByVal Target As Range)
If Target > 0 Then
Select Case Target.Address(0, 0)
Case "D2": Call sndPlaySound32("c:\message.wav", 0) 'Änd. in A2
'weitere Adressen
End Select
End If
End Sub

Anzeige
AW: Sound abspielen
06.11.2006 17:32:51
Stefan
Hallo Susanne,
Der Code funktioniert so wie du ihn hier gepostet hast, deshalb hier noch einmal die Sachen die Du ueberpruefen solltest:
a) so wie der Code jetzt geschrieben ist, sollte er im Modul Deines Arbeitsblattes stehen, nicht in einem separaten Modul.
b) die Zelle, fuer die der Code momentan geschrieben ist, ist die Zelle D2. Nur fuer diese Zelle werden Eingaben verarbeitet (kannst Du aber mit zusaetzlichen "Case" Zeilen ausweiten
c) der Wert der in die Zelle eingegeben wird muss &gt0 sein, also eine positive Zahl oder ein Buchstabe/Wort
d) die Sound-Datei "c:\message.wav" muss vorhanden sein (ich denke dass ist das was Du mit "Wavedatei funktioniert auch problemlos" meintest.
Und zu guter letzt:
e) bitte lach nicht, ist mir aber gerade passiert: schalte deine Lautsprecher an...
Schoene Gruesse
Stefan
Anzeige
AW: Sound abspielen
06.11.2006 19:33:20
Susanne99
So, weil es immer noch nicht klappt, wir, soweit wir noch alle Tassen im Schrank haben, die o.g. Punkte abgearbeitet haben, hier nochmal der COde, der bei uns in XXXX.xls - Modul1 steht.
Wenn euch nicht auf Anhieb noch etwas auffällt, müssen wir mal die Sache zu den Akten legen hier und dem PC eine Pause genehmigen.
Gruß
Susanne.
Macht es evtl. Sinn, die Zellen mit call cell ... aufzurufen?
Option Explicit
Declare Function sndPlaySound32 Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName _
As String, ByVal uFlags As Long) As Long

Private Sub Worksheet_Change(ByVal Target As Range)
If Target > 0 Then
Select Case Target.Address(0, 0)
Case "d2": Call sndPlaySound32("c:\ringin.wav", 0) 'Änd. in A2
Case "d3": Call sndPlaySound32("c:\message.wav", 0)  'Änd in A3
'weitere Adressen
End Select
End If
End Sub

Anzeige
AW: Sound abspielen
06.11.2006 19:40:48
Stefan
Hallo Susanne,
Da ist der springende Punkt: der Code soll nicht in Modul1 stehen...
Such Dir "Tabelle1" oder wie der Name des Arbeitsblattes ist, auf dem das Makro laufen soll, und da gehoert der Code hin. Tut mir leid wenn meine Ausdrucksweise missverstaendlich ist, aber alles was den Namen "Modul.." ist kein Modul eines Arbeitblattes, sondern ein separates Code-Objekt. Mit "Modul einer Arbeitsmappe" meinte ich die Dinger mit den Namen der Tabellen.
Schoene Gruesse
Stefan
AW: Sound abspielen
06.11.2006 20:20:50
Susanne99
Puh, immer noch nichts: XXX.xls Tabelle1(Code), Verstehe die Welt nicht mehr... Dennoch Danke für euren Mitarbeit... Ich brauch mal eine Pause.. Hab jeden Buchstaben 3 mal umgedreht(evtl. ist das der Fehler...)
Option Explicit
Private Declare Function sndPlaySound32 Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName _
As String, ByVal uFlags As Long) As Long

Private Sub Worksheet_Change(ByVal Target As Range)
If Target > 0 Then
Select Case Target.Address(0, 0)
Case "A2": Call sndPlaySound32("c:\ringin.wav", 0) 'Änd. in A2
Case "A3": Call sndPlaySound32("c:\message.wav", 0)  'Änd in A3
'weitere Adressen
End Select
End If
End Sub

Anzeige
AW: Sound abspielen
06.11.2006 20:36:11
Stefan
Hallo Susanne,
Hier die Datei, dann sollte es nicht mehr schief gehen. Kannst sie Dir ja morgen anschauen.
https://www.herber.de/bbs/user/37937.xls
Schoene Gruesse
Stefan
Jetzt wird es aber skuril
06.11.2006 21:32:09
Susanne99
So, hab es jetzt mal mit der Trottelmethode versucht:
Deine Xls ausgetestet: Schön, gibt man in A2 eine andere Zahl ein: Ein lautetes Ringring! So is recht.
Jetzt, um kein Risiko einzugehen, einfach meine Exelformeln kopiert in dein Sheet: Nix.
Jetzt noch mal mit der narrensicheren Formel in A2 =SUMME(B2:B6) versucht und entsprechend A2 durch Veränderung der B2-B5-Zellen geändert: A2 ändert sich, der Lautsprecher bleibt stumm.. Auch nix.
Ja, ist denn das zu fassen?
Ich zweifel an meinem Verstand. Ist VBA nicht mehr kompatibel mit Excel-Formeln?
Anzeige
AW: Jetzt wird es aber skuril
06.11.2006 22:05:30
Uduuh
Hallo,
so geht das nicht. Du musst das ringring von der Änderung von z.B. B2-B5 abhängig machen. Die Neuberechnung in A2 kannst du nicht abfragen.
Gruß aus’m Pott
Udo

AW: Jetzt wird es aber skuril
06.11.2006 22:16:36
Susanne99
Oh, je, oh, je. Wird ja immer komplizierter.
Problem gelöst
07.11.2006 00:19:17
Susanne99
Danke euch für die Hilfe.
Gruß und gute Nacht(für die Leute, die in unseren Breitengraden wohnen natürlich nur)
Susanne.
Jetzt wird es aber skuril
06.11.2006 21:40:52
Susanne99
So, hab es jetzt mal mit der Trottelmethode versucht:
Deine Xls ausgetestet: Schön, gibt man in A2 eine andere Zahl ein: Ein lautetes Ringring! So is recht.
Jetzt, um kein Risiko einzugehen, einfach meine Exelformeln kopiert in dein Sheet: Nix.
Jetzt noch mal mit der narrensicheren Formel in A2 =SUMME(B2:B6) versucht und entsprechend A2 durch Veränderung der B2-B5-Zellen geändert: A2 ändert sich, der Lautsprecher bleibt stumm.. Auch nix.
Ja, ist denn das zu fassen?
Ich zweifel an meinem Verstand. Ist VBA nicht mehr kompatibel mit Excel-Formeln?
Anzeige
AW: Sound abspielen
06.11.2006 20:36:20
Susanne99
Puh, immer noch nichts: XXX.xls Tabelle1(Code), Verstehe die Welt nicht mehr... Dennoch Danke für euren Mitarbeit... Ich brauch mal eine Pause.. Hab jeden Buchstaben 3 mal umgedreht(evtl. ist das der Fehler...)
Option Explicit
Private Declare Function sndPlaySound32 Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName _
As String, ByVal uFlags As Long) As Long

Private Sub Worksheet_Change(ByVal Target As Range)
If Target > 0 Then
Select Case Target.Address(0, 0)
Case "A2": Call sndPlaySound32("c:\ringin.wav", 0) 'Änd. in A2
Case "A3": Call sndPlaySound32("c:\message.wav", 0)  'Änd in A3
'weitere Adressen
End Select
End If
End Sub

AW: Sound abspielen
06.11.2006 20:36:31
Susanne99
Puh, immer noch nichts: XXX.xls Tabelle1(Code), Verstehe die Welt nicht mehr... Dennoch Danke für euren Mitarbeit... Ich brauch mal eine Pause.. Hab jeden Buchstaben 3 mal umgedreht(evtl. ist das der Fehler...)
Option Explicit
Private Declare Function sndPlaySound32 Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName _
As String, ByVal uFlags As Long) As Long

Private Sub Worksheet_Change(ByVal Target As Range)
If Target > 0 Then
Select Case Target.Address(0, 0)
Case "A2": Call sndPlaySound32("c:\ringin.wav", 0) 'Änd. in A2
Case "A3": Call sndPlaySound32("c:\message.wav", 0)  'Änd in A3
'weitere Adressen
End Select
End If
End Sub

AW: Sound abspielen
06.11.2006 20:36:44
Susanne99
Puh, immer noch nichts: XXX.xls Tabelle1(Code), Verstehe die Welt nicht mehr... Dennoch Danke für euren Mitarbeit... Ich brauch mal eine Pause.. Hab jeden Buchstaben 3 mal umgedreht(evtl. ist das der Fehler...)
Option Explicit
Private Declare Function sndPlaySound32 Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName _
As String, ByVal uFlags As Long) As Long

Private Sub Worksheet_Change(ByVal Target As Range)
If Target > 0 Then
Select Case Target.Address(0, 0)
Case "A2": Call sndPlaySound32("c:\ringin.wav", 0) 'Änd. in A2
Case "A3": Call sndPlaySound32("c:\message.wav", 0)  'Änd in A3
'weitere Adressen
End Select
End If
End Sub

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige