Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
876to880
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
876to880
876to880
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sound-Datei je nach Vorgabe abspielen

Sound-Datei je nach Vorgabe abspielen
16.06.2007 14:36:48
Fritz_W
Hallo Forumsbesucher,
in einer Mappe starte ich über einen Mausklick auf eine Schaltfläche nachfolgendes Makro, durch das eine wav-Datei abgespielt wird. Durch erneuten Mausklick auf die Schaltfläche wird das Abspielen beendet.
Ich würde nun gerne ein "ähnliches" Makro, bei dem ich in der Tabelle "Daten" dieser Arbeitsmappe, den Pfad und die abzuspielende Datei flexibel festlegen kann. Also z.B. in Pfad in der Tabelle "Daten" in der Zelle A1 (z.B. "C:\Sounds" und in Tabelle "Daten" Zelle B1 die Wav-Datei (z.B. "Lied_1.wav").
Würde mich freuen, wenn mir jemand von euch dabei helfen könnte.
Vielen Dank bereits jetzt für jede Form eurer Unterstützung.
Mfg
Fritz

Public Sub Play_Sound()
Static blnPlay As Boolean
If Not blnPlay Then
sndPlaySound "C:\Sounds\Lied_1.wav", SND_ASYNC Or SND_NODEFAULT
Else
sndPlaySound "NULL", SND_ASYNC
End If
blnPlay = Not blnPlay
End Sub


11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sound-Datei je nach Vorgabe abspielen
16.06.2007 14:44:01
Josef
Hallo Fritz,
das geht z.B. so.
Public Sub Play_Sound()
Dim strFile As String
Static blnPlay As Boolean

With Sheets("Daten")
    strFile = .Range("A1").Text & "\" & .Range("B1").Text
End With

If Not blnPlay Then
    If Dir(strFile) <> "" Then sndPlaySound strFile, SND_ASYNC Or SND_NODEFAULT
Else
    sndPlaySound "NULL", SND_ASYNC
End If

blnPlay = Not blnPlay

End Sub

Gruß Sepp

Anzeige
AW: Sound-Datei je nach Vorgabe abspielen
16.06.2007 15:02:27
Fritz_W
Hallo Sepp,
hervorragend, funktioniert wie gewünscht!
Danke!!
Gruß
Fritz

@Sepp und VBA-Spezialisten: Noch einen Wunsch
16.06.2007 15:17:45
Fritz_W
Hallo Forumsbesucher,
da ich gerade solch kompetente Hilfe erhalten habe, hätte ich noch einen Wunsch:
Ebenfalls soll eine Sounddatei abgespielt und ggf. gestoppt werden können.
Ich würde gerne die Sache noch etwas variabler gestalten.
In der Tabelle "Daten" möchte ich in einem bestimmten Bereich, z.B. in A1:C10 folgende Eintragungen vornehmen.
in der Spalte A jeweils eine Zahl, beginnend mit 1 in A1 bis 10 in C10, in der Spalte B jeweils Eintragung des Pfades, in dem die Wav-Datei gespeichert ist und in Spalte C der jeweilige Name der Wav-Datei.
In Tabelle "Daten" Zelle D1 sollte dann jeweils eine Zahl zwischen 1 und 10 eingetragen werden, und je nach Eintrag sollte dann die jeweilige Datei abgespielt werden, also bei dem Eintrag 1, die Datei entsprechend dem Pfad aus B1 und der Bezeichnung in C1.
Wäre toll, wenn ich auch in dieser Angelegenheit auf eure Unterstützung bauen könnte.
Gruß
Fritz

Anzeige
AW: @Sepp und VBA-Spezialisten: Noch einen Wunsch
16.06.2007 16:28:06
Fritz_W
Hallo Hajo,
zunächst vielen Dank für die Unterstützung.
zwar entspricht keiner dieser "Sounddateien" meiner geäußerten Vorstellung, dennoch sind diese Dateien samt und sonders interessante - für mich in anderen Dateien - einzusetzende Alternativen.
Letztlich der entscheidende Unterschied bei meiner Vorstellung ist darin zu sehen, dass ich Änderungen (Anpassungen) in der Exceltabelle vornehmen kann und nicht den Pfad und/oder die abzuspielende Sounddatei bereits im Code festlege.
Nochmals vielen Dank, zudem habe ich viele interessante Beispieldateien auf Deiner Homepage entdeckt!
Gruß
Fritz

Anzeige
AW: @Sepp und VBA-Spezialisten: Noch einen Wunsch
16.06.2007 16:37:03
Hajo_Zi
Hallo Fritz,
die Datei und den Ordner aus de Tabelle auslesen ist doch nur eine kleine Änderung am Code.
Gruß Hajo

AW: @Sepp und VBA-Spezialisten: Noch einen Wunsch
16.06.2007 16:44:27
Fritz_W
Hallo Hajo,
wie muss ich (VBA-Laie) euch Experten um eure Fähigkeiten beneiden:
Eine kleine Änderung für euch Experten stellt für mich ein (allein) nicht zu bewältigendes Hindernis dar.
Brauche - und hoffe - auf weitere Hilfe.
Viele Grüße
Fritz

AW: Sound Ordner Datei in Tabelle
16.06.2007 16:54:00
Hajo_Zi
Hallo Fritz,
ich habe es jetzt nur umgestellt für einen Sound.

Option Explicit
'   API Funktion für Sound abspielen
Declare Function sndPlaySound32 Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName _
As String, ByVal uFlags As Long) As Long
'   Variable ob Ton schon gespielt auf 2 definiert da Array mit 0 beginnt und 3 Zellen ü _
berwacht werden sollen
Public DoTon(2) As Integer
'* H. Ziplies                                     *
'* 11.11.06; 12.01.06                             *
'* erstellt von Hajo.Ziplies@web.de               *
'* http://Hajo-Excel.de/
Sub Sound_abspielen()
With ThisWorkbook.Worksheets("Tabelle1")
If .Range("A7") = 7 Then
If DoTon(0) = 0 Then
Call sndPlaySound32(.Range("F6") & .Range("G6"), 1)
DoTon(0) = 1    ' Sound wurde abgespielt
End If
Else
DoTon(0) = 0        ' Sound bei nächsten erreichen wieder abspielen
End If
If .Range("A8") = 8 Then
If DoTon(1) = 0 Then
Call sndPlaySound32("c:\Windows\media\Windows XP-Anmeldesound.wav", 1)
DoTon(1) = 1
End If
Else
DoTon(1) = 0
End If
If .Range("A9") = 9 Then
If DoTon(2) = 0 Then
Call sndPlaySound32("c:\Windows\media\Windows XP-Batterie kritisch.wav", 1)
DoTon(2) = 1
End If
Else
DoTon(2) = 0
End If
End With
End Sub


Tabelle1

 FG
6c:\Windows\media\Windows XP-Herunterfahren.wav

Die anderen sind analog.
Gruß Hajo

Anzeige
AW: Sound Ordner Datei in Tabelle
16.06.2007 17:03:42
Fritz_W
Hallo Hajo,
danke Dir vielmals für Deine Arbeit.
Schöne Grüße
Fritz

AW: @Sepp und VBA-Spezialisten: Noch einen Wunsch
16.06.2007 17:00:00
Josef
Hallo Fritz,
du musst die Spalte "A" nicht nummerieren. Einfach in "D1" die gewünschte Zeile eintragen.
In Spalte "A" steht der Pfad, im "B" die Datei.
Public Sub Play_Sound()
Dim lngRow As Long
Dim strFile As String
Static blnPlay As Boolean

With Sheets("Daten")
    If Len(.Range("D1")) > 0 And IsNumeric(.Range("D1")) Then
        lngRow = .Range("D1")
        strFile = .Cells(lngRow, 1).Text & "\" & .Cells(lngRow, 2).Text
    End If
End With

If Not blnPlay Then
    If Dir(strFile) <> "" Then sndPlaySound strFile, SND_ASYNC Or SND_NODEFAULT
Else
    sndPlaySound "NULL", SND_ASYNC
End If

blnPlay = Not blnPlay

End Sub

Gruß Sepp

Anzeige
AW: @Sepp und VBA-Spezialisten: Noch einen Wunsch
16.06.2007 17:11:00
Fritz_W
Hallo Sepp,
super, perfekt, vielen Dank!!
viele Grüße
Fritz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige