Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sounddatei einbinden & abspielen

Forumthread: Sounddatei einbinden & abspielen

Sounddatei einbinden & abspielen
15.09.2005 11:36:55
Zielke
Jetzt hab ich doch mal ein Problem gefunden das ich auf diesen Seiten trotz langer Suche noch nicht beschrieben fand.
1.Einen auf dem Rechner bereits vorhandenen Sound abspielen - hab ich gefunden
Sounddatei = "C:\Windows\Media\tada.wav"
Call sndPlaySound32(Sounddatei, 1)
2.Einen in die Datei eingebundenen Sound mit dem Standardplayer abspielen - hab ich gefunden.
(Worksheets(1).OLEObjects(1).Verb Verb:=xlPrimary)
Problem: Einen in die EXCEL-Datei eingebundenen Sound OHNE den Standardplayer abspielen. Also eine Kompination aus 1. & 2.
Vielleicht hat da jemand eine Idee?
Beste Grüße von
Thomas
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sounddatei einbinden & abspielen
15.09.2005 11:50:46
Achim
Mithilfe von API-Funktionen kann deine Soundkarte angesprochen werden.
Hierzu eine Lösung:
Declare Funktion sndPlaySound32 Lip "winmm.dll" Alias _
"sndPlaySoundA"(ByVal lpszSoundName as String, _
ByVal uFlags as Long) As Long

Sub SoundAusgeben()
Call sndPlaySound32("C:\Applause.Wav" , 0)
End Sub

Gruß Achim H.
Anzeige
AW: Sounddatei einbinden & abspielen
15.09.2005 15:01:09
Thomas
Hallo Achim,
Danke für die rasche Antwort.
Deine Lösung setzt jedoch das entsprechende Soundfile auf dem Rechner auf dem das Makro läuft voraus.
Ich möchte allerdings den abzuspielenden Sound in meiner EXCEL-Datei als Objekt mitliefern und dann abspielen OHNE den Standard-Player des PC zu bemühen.
Grüße von Thomas
Anzeige
AW: Sounddatei einbinden & abspielen
15.09.2005 22:42:13
Fred
Hi,
versteh das Problem nicht? Mit ...Verb xlPrimary wird der Sound doch abgespielt, was interessiert es da, wer oder was den abspielt.
mfg Fred
AW: Sounddatei einbinden & abspielen
16.09.2005 10:42:09
Thomas
Hey Fred,
der Sound soll spontan abgespielt werden können. Ich will nicht auf den Ladevorgang des Standardplayers warten. Bei mir ist der Standardplayer z.B. "Musicmatch". Das dauert fast 15sec. bis der den Sound abspielt.
MfG Thomas
Anzeige
AW: Sounddatei einbinden & abspielen
16.09.2005 16:14:52
Fred
Hi,
da muss was anderes faul sein, denn das ist nicht nachvollziehbar. Außerdem
gibt es für eingebettete Sounds keine andere Abspielmöglichkeit.
mfg Fred
;
Anzeige
Anzeige

Infobox / Tutorial

Sounddatei in Excel einbinden und abspielen


Schritt-für-Schritt-Anleitung

Um eine Sounddatei in Excel einzubinden und direkt abzuspielen, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und aktiviere die Entwicklertools:

    • Gehe zu Datei > Optionen > Menüband anpassen.
    • Aktiviere das Kästchen bei Entwicklertools.
  2. Füge ein Modul hinzu:

    • Klicke auf Entwicklertools > Visual Basic.
    • Im VBA-Editor, klicke auf Einfügen > Modul.
  3. Füge den folgenden Code ein:

    Declare Function sndPlaySound32 Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
    
    Sub SoundAusgeben()
       Dim Sounddatei As String
       Sounddatei = "C:\Windows\Media\applause.wav" ' Pfad zur Sounddatei
       Call sndPlaySound32(Sounddatei, 0)
    End Sub
    • Achte darauf, den Pfad zur Sounddatei korrekt anzugeben.
  4. Führe das Makro aus:

    • Schließe den VBA-Editor und gehe zurück zu Excel.
    • Klicke auf Entwicklertools > Makros, wähle SoundAusgeben und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Fehler: Sound wird nicht abgespielt.

    • Stelle sicher, dass der Pfad zur Sounddatei korrekt ist und die Datei tatsächlich vorhanden ist.
  • Fehler: "Access Denied".

    • Überprüfe die Sicherheitseinstellungen in Excel, um sicherzustellen, dass Makros ausgeführt werden dürfen.
  • Fehler: Standardplayer wird geöffnet.

    • Wenn Du eine eingebettete Datei abspielen möchtest, stelle sicher, dass Du die richtige Methode verwendest, um den Sound direkt in Excel abzuspielen.

Alternative Methoden

Wenn Du eine Sounddatei ohne den Standardplayer abspielen möchtest, kannst Du die Datei auch als OLE-Objekt in Dein Excel-Dokument einfügen. Hier ist eine alternative Methode:

  1. Füge das OLE-Objekt hinzu:

    • Gehe zu Einfügen > Objekt > Aus Datei erstellen.
    • Wähle Deine Sounddatei aus.
  2. Abspielen des OLE-Objekts:

    • Verwende den folgenden Code, um das OLE-Objekt abzuspielen:
      Worksheets(1).OLEObjects(1).Verb Verb:=xlPrimary
    • Diese Methode öffnet jedoch in der Regel den Standardplayer.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du die Sounddatei mit Excel VBA abspielen kannst:

  • Beispiel zum Abspielen einer anderen Datei:

    Sub ApplausAbspielen()
      Call sndPlaySound32("C:\Windows\Media\applause.wav", 0)
    End Sub
  • Beispiel für eine eingebettete Sounddatei:

    Sub EmbeddedSoundAbspielen()
      Worksheets(1).OLEObjects("Sound1").Object.Play
    End Sub
    • Stelle sicher, dass Du das OLE-Objekt im Arbeitsblatt korrekt benannt hast.

Tipps für Profis

  • Verwende Variablen für Sounddateipfade:

    • Das macht Deinen Code flexibler. Du kannst einfach den Pfad ändern, ohne den gesamten Code zu überarbeiten.
  • Fehlerbehandlung einfügen:

    • Nutze On Error Resume Next, um sicherzustellen, dass Dein Makro auch bei Fehlern weiterläuft.
  • Teste Deine Sounds:

    • Teste immer auf verschiedenen Systemen, um sicherzustellen, dass die Sounddateien überall funktionieren.

FAQ: Häufige Fragen

1. Kann ich auch andere Audioformate abspielen? Ja, VBA unterstützt viele Audioformate, solange Du die richtigen API-Funktionen verwendest. Achte jedoch darauf, dass die Datei lokal vorhanden ist.

2. Warum funktioniert der Code nicht auf jedem Computer? Der Code könnte auf verschiedenen Computern nicht funktionieren, wenn die Sounddatei nicht im angegebenen Pfad vorhanden ist. Stelle sicher, dass alle notwendigen Dateien vorhanden sind.

3. Gibt es eine Möglichkeit, den Sound zu stoppen? Ja, Du kannst die API-Funktion sndPlaySound32 mit dem Parameter 0 aufrufen, um den Sound zu stoppen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige