Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1444to1448
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
Inhaltsverzeichnis

Stoppuhr mit MP3-Ausgabe

Stoppuhr mit MP3-Ausgabe
27.08.2015 20:43:39
Mike
Hallo,
in einer Excel 2013-Datei möchte ich eine Stoppuhr mit folgenden Fuktionen umsetzen:
-Bei Klick auf den Startbutton beginnt in A1 die verstrichene Zeit zu laufen beginnen bei 0:00:00 und die Datei start.mp3 wird abgespielt.
-Nach 10 Minuten wird die Datei zehn.mp3 abgespielt, nach 20 min zwanzig.mp3 und nach 30 min dreißig.mp3
-Bei Klick auf den Button Stopp hält die laufende Zeit in A1 an. Sollte der Button gedrückt werden bevor 30 Minuten um sind, werden die anderen mp3-Dateien natürlich nicht mehr abgespielt.
Im Internet und in diesem Forum habe ich bereits verschiedenes gelesen und ausprobiert aber nichts hat wie gewünscht funktioniert. Meine VBA-Kenntnisse sind auch nur sehr begrenzt. Hat jemand eine Idee Muss man für die Buttons Formular- oder ActiveX-Steuerelemente verwenden?

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Stoppuhr mit MP3-Ausgabe
28.08.2015 01:17:57
Michael
Hi Mike,
das ist Hajos Trickkiste!
Schau mal http://hajo-excel.de/vba_sound.htm und http://hajo-excel.de/vba_stoppuhr.htm
Man sollte meinen, daß eine Kombination aus beiden Seiten genau das ist, was Du suchst.
Stöber mal ein bißchen, und falls Du nicht zurechtkommst, melde Dich halt nochmal.
Schöne Grüße,
Michael

AW: Stoppuhr mit MP3-Ausgabe
28.08.2015 07:32:07
Mike
Hallo Michael,
vielen Dank. Das bringt mich ein ganzes Stück weiter. Wie kann ich die Codes z.B. für Tabelle 1 kombinieren?

Option Explicit                                     ' Variablendefinition erforderlich
Private Sub Cmd_Start_Click()
If Cmd_Start.Caption = "Start" Then
DaZeit = Time                               ' aktulle Zeit auf Variable
Columns(1) = ""                             ' Inhalt Spalte A löschen
Cmd_Start.Caption = "Stop"                  ' ändern der Beschriftung
ZeigenZeit                                  ' laufende Zeit in Zelle A1 starten
Else
' Endzeit eintragen
Range("A1") = Format(Time - DaZeit, "hh:mm:ss")
Cmd_Start.Caption = "Start"                 ' ändern der Beschriftung
StopAnzeige                                 ' Abschalten der Prozedur ZeigenZeit
End If
End Sub

mit
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Sound_abspielen
End Sub
Viele Grüße
Mike

Anzeige
AW: Stoppuhr mit MP3-Ausgabe
28.08.2015 08:12:21
Mike
Hallo,
noch eine kurze Ergänzung. mp3- und eigene wav-Dateien scheinen nicht zu funktionieren. Woran kann das liegen?
Mike

AW: Stoppuhr mit MP3-Ausgabe
28.08.2015 12:05:32
Michael
Hallo Mike,
kannst Du das Ganze mal als Datei hochladen und mir mitteilen, aus welchen der vielen Beispiele von Hajo Du das entnommen hast?
Gruß,
Michael

AW: Stoppuhr mit MP3-Ausgabe
28.08.2015 15:45:08
Mike
Hallo,
ich hoffe, dass mir jemand weiterhelfen kann und wünsche schon mal ein schönes Wochenende.
Mike

Uff! Stoppuhr und MP3
28.08.2015 16:18:58
Michael
Hi Mike,
die Geschichte ist gar nicht so simpel.
Ich habe noch ein Modul "noch1sound" angelegt und ein bißchen herumexperimentiert.
Darin findest Du ganz unten einen Sound-Aufruf mit executeexcel4macro, der wäre handlicher, weil ohne API-Gepfriemel, spielt aber ebensowenig wie der vorliegende Code MP3 ab.
Erhellend ist immer wieder der CPearson (alle links in der Datei), der da schreibt, daß auf die Art a) WAVs abgespielt werden können und b) alle Parameter aufzählt, insbesondere die abschaltbare Standard-Einstellung, daß der Aufruf den Win-Standardsound abspielt, wenn das mit der Datei nicht klappt - und mit MP3 klappt es eben nicht.
Mit weiterer Recherche bin ich auf eine andere API gestoßen, die ich entsprechend eingebaut habe.
In "Tabelle1" habe ich die Sub Worksheet_Change so abgeändert, daß das jeweils nächste Stück bei 3 bzw. 6 Minuten abgespielt wird, das mußt Du nach Deinen Vorgaben abändern auf ="10" bzw. ="20".
Ansonsten scheint es zu tun.
Die Datei: https://www.herber.de/bbs/user/99879.xlsm
Schöne Grüße,
Michael

Anzeige
AW: Uff! Stoppuhr und MP3
29.08.2015 18:33:39
Mike
Hallo Michael,
zunächst mal vielen Dank für deine Hilfe! Da hast du dir ja sehr viel Arbeit gemacht. Bei mir funktioniert soweit auch alles gut. Eine kleine Frage habe ich doch noch. Wie kann ich den Code noch um ein oder zwei Sounddateien erweitern? Ich nehme an in Modul noch1sound je eine Zeile mit lied (7)=... und lied (9)=... einfügen und in Tabelle 1 einige Zeilen mit
Else
If..
einfügen. Leider hat das bei mir noch nicht funktioniert.
Mike

Genau, so isses
29.08.2015 19:46:56
Michael
Hi Mike,
im Modul noch1sound, Public Sub Sound_abspielen() die Zeilen einfügen, *und* in der Zeile direkt darüber
natürlich auf 9 erweitern:
Dim lied$(1 To 9)

Anzeige
ups, zu schnell auf "Absenden"
29.08.2015 19:56:03
Michael
... und in "Tabelle1" dann so:
Private Sub Worksheet_Change(ByVal Target As Range)
If noch1sound.soundNr = 0 Then
Sound_abspielen
Else
If noch1sound.soundNr = 2 Then
If Mid(Target.Text, 3, 2) = "10" Then Sound_abspielen
Else
If noch1sound.soundNr = 4 Then
If Mid(Target.Text, 3, 2) = "20" Then Sound_abspielen
Else
If noch1sound.soundNr = 6 Then
If Mid(Target.Text, 3, 2) = "25" Then Sound_abspielen
Else
If noch1sound.soundNr = 8 Then
If Mid(Target.Text, 3, 2) = "30" Then Sound_abspielen
End If
End If
End If
End If
End If
End Sub
Die IFs müßten passen, es kam keine Fehlermeldung á la "End If ohne If".
Ich bin jetzt aber, ehrlich gesagt, zu faul, mir wieder Datein zum Testen zusammenzusuchen und mir das ne halbe Stunde lang anzuhören.
Wird schon passen, hoffe ich.
Schöne Grüße,
Michael

Anzeige
AW: ups, zu schnell auf "Absenden"
30.08.2015 00:05:20
Mike
Hallo Michael,
Super! Aller funktioniert wie gewünscht. Bei meinem Test vorher hatte ich vergessen, den Wert bei DIM zu erhöhen. Zum Testen habe ich übrigens nach jeweils einer Minute den nächsten Sound abspielen lassen, dann muss man nicht so lange warten ;-)
Viele Grüße
Mike

freut mich, wenn's tut, aber...
30.08.2015 15:58:54
Michael
mir ist nicht zu 100% wohl dabei, mit dem mid(bla,3,2) zu arbeiten:
1. sind Stringfunktionen relativ langsam, und
2. traue ich der Formatierung nicht.
Letzteres könnte man durch die folgende Formel ersetzen (drück in VBA mal Strg+g, dann kannst Du sie im "Direktfenster" gleich eingeben: debug.print left(right("1:23:45",5),2)
Wenn Du Enter drückst, wird das Ergebnis 23 ausgegeben - das erscheint mir sicherer, benötigt aber sicher noch mehr Zeit als mid.
Evtl. wäre ne Abfrage nach Zeit sinvvoller, also sinngemäß:
If Target.Value >= 0.000347222222222221 Then Sound_abspielen

Der Wert entspricht ca. 30 vergangenen Sekunden; *Obacht*, in VBA mit Dezimal*PUNKT*; alle Nachkommastellen mußt Du ja nicht mit eingeben, und das "größergleich" ist insofern kein Problem, da in den Zweig nur gesprungen wird, wenn die soundNr paßt, d.h., das Abspielen wird nur je einmal ausgeführt.
Na denn, viel Spaß beim Basteln,
Michael
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige