Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Sound abspielen
#1
Music 
hi, ich habe das hier gefunden:
Code:
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
q: https://www.administrator.de/frage/wave-...38799.html

Doch wenn ich das einfüge als Modul wird:
"Declare Function sndPlaySound32 Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName _
As String, ByVal uFlags As Long) As Long" rot markiert.

Wie bekomme ich es hin ein Audiofile abzuspielen? Kann ich den Pfad auch relativ zur Exceldatei setzen?

lieben Dank!
Antworten Top
#2
Moin Julia!
Bei mir wird nix rot.
Ich habe Deinen Code zunächst kopiert und später mit einer meiner Dateien verglichen.
Ist identisch.

Hast Du ein 64-Bit-Excel?
Dann musst Du ein ptrSafe einfügen.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • o0Julia0o
Antworten Top
#3
Hallöchen,

das wäre dann so:
Public Declare PtrSafe Function sndPlaySound32 Lib "winmm.dll" _
    Alias "sndPlaySoundA" ( _
        ByVal lpszSoundName As String, _
        ByVal uFlags As Long) As Long
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • o0Julia0o
Antworten Top
#4
(09.11.2017, 17:12)RPP63 schrieb: Hast Du ein 64-Bit-Excel?
Das weiß ich leider nicht. Ich habe es jetzt so gemacht:

Code:
Public Declare PtrSafe Function sndPlaySound32 Lib "winmm.dll" _
    Alias "sndPlaySoundA" ( _
        ByVal lpszSoundName As String, _
        ByVal uFlags As Long) As Long
Sub Abspielen()
If Cells(1, 1).Value = 4 Then
Call sndPlaySound32("E:\h.wav", 1)
End If
If Cells(1, 1).Value = "5" Then
Call sndPlaySound32("E:\h.mp3", 1)
End If
End Sub

Doch es wird nix abgespielt, wenn ich in der einzigen Tabelle in A1 eine 4 oder 5 eintrage. Aber die rote Markierung ist weg. Wenn ich die Dateien im Explorer starte, werden sie abgespielt.
Antworten Top
#5
Hallo,

RPP63 schrieb: Hast Du ein 64-Bit-Excel?
(09.11.2017, 23:04)o0Julia0o schrieb: Das weiß ich leider nicht.
Sub Versionstest()
 #If VBA7 Then
   MsgBox "Code wird im neuen VBA7-Editor ausgeführt"
     #If Win64 Then
        MsgBox "Code wird unter der 64-Bit-Version von Microsoft Office ausgeführt"
     #Else
     MsgBox "Code wird unter der 32-Bit-Version von Microsoft Office ausgeführt"
     #End If
 #Else
   MsgBox "Code wird in VBA-Version 6 oder älter ausgeführt"
 #End If
End Sub
Gruß Uwe
	
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • o0Julia0o
Antworten Top
#6
witzig, neuer VBA7-Editor & 64bit. Doch abgespielt wird mit dem code von schauan leider trotzdem nix.
Antworten Top
#7
Moin!
Wenn Du etwas ereignisgesteuert ablaufen lassen willst, solltest Du auch ein Ereignismakro nehmen.
Sprich: Worksheet_Change im Modul der Tabelle.
Darf ich fragen, was die Spielerei soll?
Wenn es tatsächlich nur eine Spielerei sein soll, empfehle ich Dir (nicht so böse gemeint, wie es vielleicht klingt), Dich erst mal in die Basics einzuarbeiten.

Du könntest zunächst mal hier im Forum nach Worksheet_Change suchen, um ein Gefühl für Ereignismakros zu bekommen.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • o0Julia0o
Antworten Top
#8
(10.11.2017, 12:35)o0Julia0o schrieb: witzig, neuer VBA7-Editor & 64bit. Doch abgespielt wird mit dem code von schauan leider trotzdem nix.

Du könntest es noch damit probieren:
Public Declare PtrSafe Function sndPlaySound32 Lib "winmm.dll" _
   Alias "sndPlaySoundA" ( _
       ByVal lpszSoundName As String, _
       ByVal uFlags As LongLong) As LongLong
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • o0Julia0o
Antworten Top
#9
Verändert nichts im Ergebnis. Der Ton blebit leider still.

(10.11.2017, 12:57)RPP63 schrieb: Moin!
Wenn Du etwas ereignisgesteuert ablaufen lassen willst, solltest Du auch ein Ereignismakro nehmen.
Sprich: Worksheet_Change im Modul der Tabelle.
hi, ich möchte, dass ein Sound abgespielt wird, wenn sich ein Feld ändert(also konrket wird Jemand in dem Feld erscheinen, ein Name und im gleichen Augenblick soll ein Sound abgespielt werden; wobei das generell auch gut zu wissen wäre, wie das geht). Das mit dem Change nützt mir ja nix, da das Soundabpsielen erst gar nicht funktioniert. Unabhängig von einer Bedingung.
Antworten Top
#10
Hallöchen,

mal eine dumme Zwischenfrage - sonst gibt es aber Töne, da ist nix abgeschalten?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste