Sound abspielen
#11
Hallöchen,

hier mal noch ein Versuch, allerdings mit dem Mediaplayer

Code:
Private Const SW_SHOWNORMAL = 1

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long

Private Sub Command1_Click()
Dim strFile As String
strFile = "G:\Music_T\Prüfen\irgendeintitel.mp3"
ShellExecute &O0, "open", strFile, vbNullString, vbNullString, SW_SHOWNORMAL
End Sub
.      \\\|///      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
Top
#12
danke. Der Code wird dann teilweise rot:
[img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]
Code:
Auch wenn ich stattdessen es so mache:
Private Const SW_SHOWNORMAL = 1

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As LongLong) As LongLong
Private Sub Command1_Click()
Dim strFile As String
strFile = "E:\h.mp3"
ShellExecute &O0, "open", strFile, vbNullString, vbNullString, SW_SHOWNORMAL
End Sub
Also diese Zeile verändert: ByVal nShowCmd As Long) As Long

(11.11.2017, 23:20)schauan schrieb: sonst gibt es aber Töne, da ist nix abgeschalten?
Also, wenn ich die Datei E:\h.wav oder E:\h.mp3 im Windows-Explorer doppelklicke, dann öffnet sich der WindowsMediaPlayer und ich höre dann etwas. Aber mit VBA tut sich nix. Nichtmal eine Fehlermeldung.

(12.11.2017, 10:55)schauan schrieb: hier mal noch ein Versuch, allerdings mit dem Mediaplayer
gut wäre es natürlich, wenn nur der Sound zu hören wäre, aber man weiterhin nur die Exceldatei sieht.
Top
#13
Hallo,

gelöscht, ... nicht richtig gesehen.

Später: .... aber was ist das? ... ByVal nShowCmd As LongLong) As LongLong
[-] Folgende(r) 1 Nutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • o0Julia0o
Top
#14
Kuwer hatte das geschrieben: http://www.clever-excel-forum.de/Thread-...1#pid98761
Das ist um den Code tauglich für die 64bit-Version von Excel zu machen. Ich habe das auf den Code von schauan übertragen. Mit schlechtem Erfolg allerdings.
Top
#15
Hallöchen,

ich habe leider nur die 32er Version und da läuft es. 64 bit kann ich nicht testen Sad
.      \\\|///      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
Top
#16
Moin!
Wo_ist_PtrSafe???
Ist ja nicht so, als wenn es nicht in diesem Thread bereits erwähnt worden ist.

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
Top
#17
Mit PtrSafe erhalte ich folgende Fehlermeldung "Fehler beim Kompilieren: Erwartet: Anweisungsende":
externer Link entfernt
Code:
Private Const SW_SHOWNORMAL = 1
Public Declare PtrSafe Function sndPlaySound32 Lib "winmm.dll" _
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As LongLong) As LongLong

Private Sub Command1_Click()
Dim strFile As String
strFile = "E:\h.wav"
ShellExecute &O0, "open", strFile, vbNullString, vbNullString, SW_SHOWNORMAL
End Sub
Das umkreiste Wort "Private" ist blau markiert dann.
Top
#18
Hallöchen,

nochmal wegen dem LongLong. Du kannst stattdessen auch LongPtr verwenden, das nutzt je nach System Long oder LongLong.

Und wegen dem Private sehe ich nix eingekreistes Sad Es könnte sein, dass beim Kopieren aus dem Forum unnütze Zeichen mit kommen, schaue dazu mal oben in der Hilfe den Hinweis zum Edge an.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#19
o.k. dankeschön, ich habe mal beide Varianten probiert - so sieht das aus(vorher hatt ich mit Snipping-Tool gearbeitet, dann gehen die Markierungen weg, wiel Snipping-Tool das aktive Windows-Fenster ist und nicht VBA):

Variante LongLong:
   
Code:
Private Const SW_SHOWNORMAL = 1
Public Declare PtrSafe Function sndPlaySound32 Lib "winmm.dll" _
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As LongLong) As LongLong

Variante LongPtr:
   
Code:
Private Const SW_SHOWNORMAL = 1
Public Declare PtrSafe Function sndPlaySound32 Lib "winmm.dll" _
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As LongPtr) As LongPtr

.xlsm   Sound.xlsm (Größe: 13,13 KB / Downloads: 2)
@Edge Ich verwende Firefox. Da werden keine Leerstellen zu viel eingefügt.
Top
#20
Hallöchen,

grad fallen mir die Schuppen von den Augen Wink

Schaue Dir mal die beiden Zeilen an:

Public Declare PtrSafe Function sndPlaySound32 Lib "winmm.dll" _
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _

Du fängst in der oberen Zeile die Public ... an, ohne sie aufzuhören. In der nächsten Zeile kommt ja schon die Private... Das war gestern früh noch nicht drin.
.      \\\|///      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
Top


Gehe zu:


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