Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1312to1316
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

Alarmfunktion mit Ton in Excel einbauen

Alarmfunktion mit Ton in Excel einbauen
19.05.2013 07:34:22
Anton
Hallo erstmal,
das hier ist mein 1. eigener Beitrag hier (war bisher stiller Nutzer^^), wenn ich also irgendwas falsch mache einfach sagen.
Folgendes würde ich gerne lösen, bin aber ein TOTALER VBA-Neuling:
Ich habe hier ne Beispielmappe gefunden in der bei Klick auf ein Makro ein SOUND abgespielt wird (war eine Wave-Datei und der Mediaplayer hat sich geöffnet).
In einer Tabelle stehen in den Spalten A bis I Textinfos, in Spalte J eine Laufzeit, in Spalte K die Zielankunft und in Spalte L wird dann eine Alarmzeit berechnet.
In Spalte R werden dann die Alarmzeiten automatisch sortiert die Spalten N bis Q holen sich die dazu passenden Textinfos aus den Spalten A, B, C und I.
Die ersten Daten werden in der 5. Zeile eingetragen.
Die Formel für die automatische Sortierung in Spalte R lautet =WENN(L5" ";KKLEINSTE($L$5:$L$500;ZEILE(A1));" ") hier in dem Fall die Formel aus R5 die dann einfach nach untengezogen wurde.
Die Textinfos werden per Index und Vergleich dazugeholt. Das alles läuft schon Perfekt.
Ich würde gerne jedes mal wenn eine Alarmzeit aus der Spalte R erreicht ist einen Wecksound wiedergeben lassen, für den Fall das ich nicht am Rechner und das dann aber HÖRE. Optimal wär ne Wunsch-Mp3 aber auch eine Wave wäre kein Stress,
Ich geh mal davon aus, dass sowas wenn dann nur mit VBA möglich ist.
Ach ja für den Fall das es relavant ist, ich benutze Windows 7 64 Bit + Office 2010 64 Bit und als Medienplayer den Windows Media Player Classic Home Cinema, alles jeweils auf aktuellsten Stand.
Für euer Hilfe bedanke ich mich schon im Vorhinein

45
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alarmfunktion mit Ton in Excel einbauen
19.05.2013 08:09:56
Anton
Und wie mach ich das der Sound zur vorgegeben Zeit abgespielt wird?

Bitte VBA Profi Zeitabfrage drüberschauen,..
19.05.2013 08:45:37
Matze
Hallo Anton,
...generell die User bitte mit Vornamen anreden, danke.
Lasse dieses Thema auf "offen" stehen , dann kann einer der Profis hier helfen;
geduldige dich, denn es ist Pfingsten, ich glaub die schlafen alle noch, :-))
Ich bekomme es nicht hin wegen der Abfrage, es muss ja permanent geprüft werden ob die Zeit der Zelle erreicht ist.
Matze
Ps.:
Wenn du weitere Fragen hast, kannst du unten bei der Eingabe neben Passwort das kleine Kontrollkästchen anhaken, dann kann Jeder den "offenen" Beitrag verfolgen.

Anzeige
AW: Bitte VBA Profi Zeitabfrage drüberschauen,..
19.05.2013 08:55:14
Anton
Hallo Matze,
Das Ansprechen mit dem Vornamen ist kein Problem, habs nur ned gemacht weil ich in nem andern Forum gerügt wurde weils unhöflich ist Leute ohne zu fragen zu duzen (bzw sofort den Vornamen zu verwenden).
Thema "offen" lassen, ist dass das selbe was du in deinem P.S. meinst? Also den Haken da unten hab ich reingemacht.
Thema Pfingsten jo keine Sorge ich hab Zeit an dem Problem laboriere ich schon ein wenig länger^^ Momentan löse ich es mit einem externen Countdowntimer (der halt auch ne Weckfunktion mit ner Zeitangabe hat), sprich die Excel rechnet mir aus zu welchen Zeiten ich eine Weckfunktion einstellen muss. Das geht zwar ist aber halt bei 100 Weckzeiten doch ein wenig intensiv :-D. Das über Excel automatiesiert zu lösen wär halt der HAMMER^^
Liebe Grüße aus Bayern
Toni

Anzeige
AW: Bitte VBA Profi Zeitabfrage drüberschauen,..
19.05.2013 09:01:34
Matze
Hallo Anton,
..ich bin kein Profi in VBa, deshalb auch der Aufruf an die vielen anderen Helfer hier im Forum.
Kannst du denn eine Musterdatei hochladen, dann brauch keiner was nachbauen.
Mich würde auch der Countdowntimer interrisieren, wie dieser Aufgebaut wurde.
Matze

AW: Bitte VBA Profi Zeitabfrage drüberschauen,..
19.05.2013 09:51:59
Anton
Hallo Matze,
Ähm hab ich versucht aber die Excel ist zu groß zum hochladen. Wenn das erlaubt ist könnte ich mit einem Screenshot dienen.
Wie der Countdowntimer aufgebaut ist kann ich dir nicht sagen, ist ein kostenloses Program nennt sich FreeCountDownTimer und ist leicht zu ergoogeln. Das Teil kann den Rechner einschalten und so weiter, ist also echt gut nur halt für meinen speziellen Fall ned optimal^^

Anzeige
AW: Bitte VBA Profi Zeitabfrage drüberschauen,..
19.05.2013 10:04:22
Hajo_Zi
warum muss der Rechner eingeschaltet werde, bei ausgeschaltet wird nichts aktualisiert, woher weis das Programm das eine Quelldatei auf einem anderem Rechner geändert wurde?
Gruß Hajo

AW: Bitte VBA Profi Zeitabfrage drüberschauen,..
19.05.2013 10:41:53
Anton
Hallo Hajo,
Sorry aber meine Antwort bezog sich auf Matzes Bemerkungen zu dem Countdonwtimer, das ist ein Freewaretool das nix mit Excel zu tun hat. Ich hab hier nur Funktionen des Tools beschrieben die ich aber für die Excel nicht benötige. Nochmal ums klarer zu sagen.
Momentan läuft die Berechnungen der Alarmzeiten und das automatische Sortieren in Spalte R perfekt. Das ich aber hier keine Alarmzeit versehentlich übersehe, habe ich mir das Tool runtergeladen damit ich dort dann die Alarmzeiten MANUELL eintippen kann sprich ich stelle mir quasi nen Wecker. Das geht zwar aber bei sagen wir 100 Alarmzeiten (oder wenn sich ne Alarmzeit mal ändert), muss ich dementsprechend auch 100 Wecker stellen, was doch recht aufwändig ist. Daher halt der Gedanke das die Excel hier nen Warnton abspielen soll und das alles alleine macht wenn eine Alarmzeit erreicht ist. Der Rechner wäre immer an und auch die Excel würde immer offen sein, halt minimiert in die Taskleiste oder im Hintergrund.

Anzeige
AW: Bitte VBA Profi Zeitabfrage drüberschauen,..
19.05.2013 10:45:56
Anton
Ach ja was ich noch vergas. Welches Format der Sound haben muss wär mir egal darf gern das Format sein das sich am leichtesten einbinden läßt.

AW: Alarmfunktion mit Ton in Excel einbauen
19.05.2013 09:57:40
Anton
Hallo Hajo,
habe die Zip runtergeladen und die Exceldatei da drin geöffnet. Nach einem Klick auf Inhalte aktivieren kam sofort eine Fehlermeldung. Ich hab mal einen Screenshot gemacht davon (ich hoffe das ist erlaubt hier)
http://www.youscreen.de/kqmetvwa00.jpg

Anzeige
AW: Alarmfunktion mit Ton in Excel einbauen
19.05.2013 10:01:19
Hajo_Zi
du solltest schon erwähnen das Du eine 64 Bit Version verwendest.
Gruß Hajo

hat er Hajo,.. :-)
19.05.2013 10:04:54
Matze
Hallo Hajo,
ich versuche mal durch deine Musterdatei durch zu steigen, danke dafür
Ach ja für den Fall das es relavant ist, ich benutze Windows 7 64 Bit + Office 2010 64 Bit und  _
als Medienplayer den Windows Media Player Classic Home Cinema, alles jeweils auf aktuellsten Stand.
Matze

AW: Alarmfunktion mit Ton in Excel einbauen
19.05.2013 10:06:00
Anton
Hallo Hajo,
hab ich doch im ersten Beitrag gemacht. Da steht ganz unten das ich jeweils die 64 Bit Version von Windows 7 und Office 2010 verwende.
Grüße Toni

Anzeige
Machen wir an dieser Stelle weiter !
19.05.2013 10:18:23
Matze
Hallo Zusammen,
...sonst springen wir im Beitrag als hin und her.
Rückfragen die die Vorgabe betreffen:
a) deine Alarmzeiten in Spalte R haben diese einen bestimmten Zeitabstand?
b) wie sind diese Zeiten formatiert?
c) wie stellst du dir die Abfrage vor, wie soll Excel das dauerhaft abfragen?
d) würde dir ein zB 5 minutiger Zeitraum reichen?
e) hat denn meine Beispieldatei funktioniert unter 64Bit?
Matze

AW: Machen wir an dieser Stelle weiter !
19.05.2013 10:33:14
Anton
Hallo Matze,
Ok dann hier weiter.
zu a) nein haben sie nicht hier können bis zu 500 Alarmzeiten stehen die in keinem direkten Zusammenhang stehen also zumindest von den Zeiten her.
zu b) formatiert sind die mit hh:mm:ss
zu c) absolut keine Ahnung, wie gesagt ich bin zwar in Excel denk ich gut erfahren, aber halt bei VBA GAR nicht noch nie was gemacht, das hier wäre mein erstes Projekt mit VBA. Ich weiss also nicht was überhaupt machbar ist. Aber ne permanente Abfrage die greift,sobald in der Spalte R irgendwelche Zeiten stehen wäre denk ich das Optimum. Aber gangbar wäre denk ich auch das man zuerst alle Zeiten einträgt und dann per klick das Makro startet, und wenn man was ändert (ne Zeit ändert hinzufügt oder entfernt) dann halt nochmal das Makro startet.
zu d) ich denke mal du meinst damit den Abfrageinterval oder? Wenn ja 5 Minuten könnten knapp werden aber 1 Minute sollte zu 99,99% langen.
zu e) ähm jop. Nach Klick auf die Schaltfläche machte sich der Mediaplayer Classic HC (der übrigens auch 64 Bit ist) auf und ich hörte ne Klospülung denk ich mal^^
Grüße Toni

Anzeige
wieder offen für die Profis,..
19.05.2013 10:48:13
Matze
Hallo zusammen,
es geht nun um die Abfrage der Spalte R in der sich Alarmzeiten befinden die sich im Intervall von
zB 1 Minute unterscheiden.
Ein Change Ereignis wenn eine neue Zeit eingetragen wird soll auch greifen.
Vielleicht kann man hier mit Application.OnTime arbeiten,...
Leider zu komplex für mich, verliere mich als in andere Gedankengänge.
Ich hoffe ihr könnt hier Helfen, danke
Matze

AW: OnTime-Alarm mit BEEP oder Sound
21.05.2013 13:22:00
fcs
Hallo Toni, Hallo Matze,
hier eine OnTime-Lösung. Sie ist ist ähnlich einer bereits in einer der Antworten geposteten Lösungen.
Ich hab zusätzlich eine Prüfung eingebaut, ob der Zellinhalt in Spalte R ein Datum ist, da es sonst zu einem Typfehler bei DateDiff kommt.
Das Makro prüft dann alle 15 Sekunden die Zelleinträge in Spalte R.
Gruß
Franz
'Code in allgemeinem Modul
'Erstellt unter Excel 2010 - WindowsVista
Option Explicit
Public NextStart As Date
Sub prcStarten()
'Überwachung starten
prcAlarm
End Sub
Sub prcBeenden()
'Überwachung beenden
On Error Resume Next
Application.OnTime earliesttime:=NextStart, procedure:="prcAlarm", Schedule:=False
NextStart = 0
End Sub
Sub prcAlarm()
Dim zeile As Long, intI As Integer
Dim objShell As Object, datei As String
Const lngSpalte As Long = 18 'Spalte R - Spalte mit den Urzeiten
With ThisWorkbook.Worksheets("Laufzeitrechner")
For zeile = 5 To .Cells.SpecialCells(xlCellTypeLastCell).Row
If IsDate(.Cells(zeile, lngSpalte).Text) Then
If DateDiff("s", Time, .Cells(zeile, lngSpalte))  0 Then
Application.Goto .Cells(zeile, lngSpalte)
'3 Beeps als Alarm
For intI = 1 To 3
VBA.Beep
Application.Wait (Now() + TimeSerial(0, 0, 1))
Next
'Sound-Datei als Alarm
Set objShell = CreateObject("Shell.Application")
'datei = "C:\Users\Public\Music\kusnetschik.mp3" 'Pfad zum Song anpassen
datei = "C:\Windows\Media\tada.wav" 'Pfad zum Song anpassen
objShell.ShellExecute datei, "", "", "open", 2
Set objShell = Nothing
Exit For 'damit Zeiten im Sekundenabstand nicht mehrfach alarmieren
End If
End If
Next
End With
NextStart = Now + TimeSerial(0, 0, 15) 'Alle 15 Sekunnden Zeiten prüfen
Application.OnTime NextStart, "prcAlarm"
End Sub

Anzeige
AW: OnTime-Alarm mit BEEP oder Sound
21.05.2013 16:10:11
Anton
JAAAAAAAAAAAAAAAAAAAAA JUHU
Oh sorry Hallo Franz erst mal,
ES LÄUFT was freu ich mich. Jetzt wären nur noch ein paar Feinabstimmungen notwendig.
Der Alarm geht immer 15 Sekunden zu früh los, dies wäre aber nicht notwendig da ich in Zelle L1 eine Kulanzzeit angebe (65 Sekunden). Liegt das an dem 15 Sekundeninterval wo die Zeiten überprüft werden?
Dann momentan kommt ein leiser beep und da sabspielen des Wunschtons. Der Beep wäre hier nicht notwendig, ich trau mich hier aber nicht etwas zu löschen.
Und das letzte wäre den Sound den er abspielen soll is ein BigBen-Glockenläuten das 8 Sekunden dauert. Hier beginnt er mit dem Abspielen bricht aber 3 mal ab und fängt von neuem an (ich glaubd as is solang er diese 3 BEEPs bringt fängt der Sound auch immer wieder von vorn an. Erst beim 4. Anlauf spielt er den Sound komplett durch. Meine Frage wäre wie ich das wegbekomme und ob es machbar ist, diesen Sound 2 mal wiederzugeben?
Aber ungeachtet dessen ob hier noch eine Antwort kommt möchte ich mich recht herzlich bei allen bedanken die mir geholfen haben, insbesondere natürlich dir Franz.

Anzeige
AW: OnTime-Alarm mit BEEP oder Sound
22.05.2013 09:29:53
fcs
Hallo Toni,
den Start des Alarms kann man steuern, in dem die Vergleichswerte für die Datediff-Prüfung angepasst werden. Die Differenz der beiden Werte muss etwas größer sein als das Prüfintervall des Makros.
Die Lautstärke des BEEP hängt natürlich von der Einstellung der Soundeinstellungen in der Systemeinstellung/Soundkarteneinstellung ab.
Das 15-Sekunden-Intervall für die Prüfungen bestimmt natürlich auch, wie genau der Alarm angezeigt wird. Je kleiner man das Intervall wählt, desto genauer wird der Alarm angezeigt. Dann belastet dieses Makro aber auch immer stärker den Rechner -spielt bei deinem Makro nicht so eine gr0ße Rolle- und behindert andere Arbeiten in Excel. Wenn dein Alarm-Sound 2 mal 8 Sekunden für das Abspielen benötigt, dann macht es wenig Sinn, dieses Intervall zu verkleinern.
Wenn bei dir die Sounddatei mehrfach angespielt wurde, dann hast du evtl. die Alarmierung mehrfach gestartet ohne sie vorher zu beenden. Möglicherweise muss man auch noch ein klein wenig die Prüfwerte von DateDiff optimieren.
Nachfolgend die Makro angepasst (kein BEEP mehr, Sounddatei 2 mal abspielen, Verschiebung der DateDiff-Prüfungen), löschen eines evtl. noch vorhandenen Alarnstarts, wenn Alarm neu gestartet wird.
Gruß
Franz
Option Explicit
Public NextStart As Date
Sub prcStarten()
'Überwachung starten
On Error Resume Next
If NextStart  0 Then
Application.OnTime earliesttime:=NextStart, procedure:="prcAlarm", Schedule:=False
End If
prcAlarm
End Sub
Sub prcBeenden()
'Überwachung beenden
On Error Resume Next
Application.OnTime earliesttime:=NextStart, procedure:="prcAlarm", Schedule:=False
NextStart = 0
End Sub
Sub prcAlarm()
Dim zeile As Long, intI As Integer
Dim objShell As Object, Datei As String
Const lngSpalte As Long = 18 'Spalte R - Spalte mit den Urzeiten
With ThisWorkbook.Worksheets("Laufzeitrechner")
For zeile = 5 To .Cells.SpecialCells(xlCellTypeLastCell).Row
If IsDate(.Cells(zeile, lngSpalte).Text) Then
If DateDiff("s", Time, .Cells(zeile, lngSpalte))  -20 Then
Application.Goto .Cells(zeile, lngSpalte)
Call prcPlaySound
Application.OnTime Now + TimeSerial(0, 0, 8), "prcPlaySound"
Exit For 'damit Zeiten im Sekundenabstand nicht mehrfach alarmieren
End If
End If
Next
End With
NextStart = Now + TimeSerial(0, 0, 15) 'Alle 15 Sekunnden Zeiten prüfen
Application.OnTime NextStart, "prcAlarm"
End Sub
Sub prcPlaySound()
'Sound-Datei als Alarm
Dim objShell As Object, Datei As String
Set objShell = CreateObject("Shell.Application")
Datei = "C:\Users\Public\Test\Download\hourlychimebeg.mp3" 'Pfad zum Song anpassen
objShell.ShellExecute Datei, "", "", "open", 2
Set objShell = Nothing
End Sub

AW: OnTime-Alarm mit BEEP oder Sound
22.05.2013 13:09:04
Anton
Hallo Franz,
Danke dir erst mal für deine große Mühe. Ich frag jetzt nur nochmal nach weil ich auch kapieren will was hier genau passiert, ich wills ja auch lernen ned nur benutzen.
Vorher war in den beiden Datediffzeilen die Angabe Kleiner 20 Größer 0, jetzt ist es Kleiner 0 Größer -20. Seh ich das richtig das hier der Alarmbeginn von bis zu 20 Sekunden zu früh auf 0 bis 5 Sekunden zu spät verlagert wurde?
Wieso muss die Differenz hier bissl größer sein als der Intervall des Makros? Das heisst dann aber, das hier bei nem Interval von 15 es max Größer minus 16 sein darf oder?
Das mit dem Beep war klar ich meinte nur das der solang der Sound geht ned nötig ist.
OK das verringern des Intervals macht den Alarm genauer belastet aber den Rechner und kann Excelarbeiten behindern. Kapiert^^ Da ich eh ne Kulanz von 65 Sekunden habe ist das kein Problem. Aber eine Frage noch hierzu. Behindert das Makro nur das arbeiten in DIESER Arbeitsmappe oder generell?
Jetzt spielt er den Sound 4 mal ab, das ist aber kein Problem ich würd nur gern für die Zukunft wissen was ich ändern muss um den Sound zb 10 mal abzuspielen.
Und dein letzter Satz heisst das jetzt wenn ich das Makro versehentlich ein 2. mal starte, die andere Ausführung automatisch beendet wird?

AW: OnTime-Alarm mit BEEP oder Sound
22.05.2013 21:37:03
fcs
Hallo Toni,
Vorher war in den beiden Datediffzeilen die Angabe Kleiner 20 Größer 0, jetzt ist es Kleiner 0 Größer -20. Seh ich das richtig das hier der Alarmbeginn von bis zu 20 Sekunden zu früh auf 0 bis 5 Sekunden zu spät verlagert wurde?
ungefähr, ich hab das nicht genau getestet.
Wieso muss die Differenz hier bissl größer sein als der Intervall des Makros? Das heisst dann aber, das hier bei nem Interval von 15 es max Größer minus 16 sein darf oder?
Wenn das Prüfintervall größer als die Differenz ist, dann kann es passieren, dass nicht alle Zeiten in Spalte R einen Alarm auslösen, weil Zeiten in die Lücke zwischen Prüfintervall und Differenz fallen können.
Aber eine Frage noch hierzu. Behindert das Makro nur das arbeiten in DIESER Arbeitsmappe oder generell?
Es ist dann Excel generell betroffen, nicht nur die eine Arbeitsmappe. Es kann auch passieren, dass die Ausführung des Makros verzögert wird. z.B. wenn du gerade den Inhalt einer Zelle bearbeitest, ein Excel-Dialogfenster geöffnet ist oder ein anderes Makro läuft.
Jetzt spielt er den Sound 4 mal ab, das ist aber kein Problem ich würd nur gern für die Zukunft wissen was ich ändern muss um den Sound zb 10 mal abzuspielen.
Warum 4 mal: ? bei meinen Test wurde immer nur 2 mal abgespielt. Wenn du einen Sound öfter abspielen willst, dann musst du die Zeile
            Application.OnTime Now + TimeSerial(0, 0, 8), "prcPlaySound"

entsprechend oft wiederholen und für die Zeit eine entsprechend andere Verzögerung für den Start der Prozedur eintragen.
Und dein letzter Satz heisst das jetzt wenn ich das Makro versehentlich ein 2. mal starte, die andere Ausführung automatisch beendet wird?
Durch die Anpassung der Prozedur "prcStarten" sollte eine bereits gestartetet Alarnierung vor dem Neustart zurückgesetzt werden. Vor dem Schliessen der Datei solltest du aber die Beenden-Prozedur ausführen, da noch vorhandene OnTime-Ereignisse solange ausgeführt werden, bis die Excel-Anwendung beendet wird.
Gruß
Franz

AW: OnTime-Alarm mit BEEP oder Sound
23.05.2013 10:06:55
Anton
Hallo Franz,
Danke dir für die zusätzlichen Erläuterungen. Ich bin jetzt wunschlos glücklich.
Das mit dem 4 mal abspielen, keine Ahnung evtl hab ich das Makro 2 mal hintereinander gestartet, ich will das nicht ausschliessen.
Ich möchte an dieser Stelle nochmal allen Helfern danken für die Hilfeleistungen hier.

@Franz
21.05.2013 17:47:32
Anton
Hallo Franz,
mich würde interessieren, ob du auch das Lied Антошка kennst :o)
mfg Anton

AW: @Franz
22.05.2013 09:46:28
fcs
Hallo Anton,
ich kenne nur das russiche Kinderlied über den Grashüpfer.
Es war eine Textübung in einem Russischkurs.
Gruß
Franz

Danke für die Rückmeldumg oT
22.05.2013 17:31:28
Anton

AW: Alarmfunktion mit Ton in Excel einbauen
19.05.2013 11:53:42
Anton
Hallo Toni,
probier sowas:
Code:

'Code in Codemodul der Tabelle
Private Sub Worksheet_Change(ByVal Target As Range)    
  Dim blnWecken As Boolean, Wecker As Date, zeile As Long    
  If Target.Column <> 18 Then Exit Sub    
  Wecker = "02:00:00" 'Alarmzeit anpassen
  blnWecken = False
  For zeile = 5 To Cells.SpecialCells(xlCellTypeLastCell).Row  
    If Cells(zeile, "R") > Wecker Then  
      Cells(zeile, "R").Interior.Color = vbRed
      blnWecken = True
    Else
      Cells(zeile, "R").Interior.ColorIndex = xlNone
    End If  
  Next
  If blnWecken Then  
    Dim objShell As Object, datei As String    
    Set objShell = CreateObject("Shell.Application")  
    datei = "C:\Temp\1.mp3" 'anpassen
    objShell.ShellExecute datei, "", "", "open", 2
    Set objShell = Nothing  
  End If  
End Sub  


mfg Anton

AW: Alarmfunktion mit Ton in Excel einbauen
19.05.2013 13:10:03
Anton
Hallo Anton,
Also ich denke mal du meinst damit der Code muss in das Fenster rein wenn man auf den Tabellenreiter mit rechts draufklickt und dort Code anzeigen klickt. Das hab ich jedenfalls gemacht. Nun hier passiert leider nix. Also wenn ich das richtig verstehe sind das grüne da dann Kommentare. Das 2. grüne heisst Alarmzeit anpassen, nun an was soll ich das da anpassen? Die Alarmlänge? Das letzte grüne ist wohl der Pfad zu der Mp3 die ich abspielen will. Korrekt?
Dann wenn es richtig gehen soll, was woll dann hier passieren? da steht noch was dabei von Zeile 5, heisst das dann das nur die Zeit in der 5. Zeile berücksichtigt wird?
Ich bin mir nicht ganz sicher ob ich alles so erklären konnte wie ich es will. Die Alarmzeiten sind Uhrzeiten wo´s dann nen Alarm geben soll, also z.b. 17 Uhr 32 und 10 Sekunden das nächste mal dann um 19 Uhr 12 und 37 Sekunden, usw usf. Ich hoffe das hilft weiter

kannst du eine Beispeildatei hochladen?
19.05.2013 13:15:52
Anton
Hallo Toni,
dann wird es einfacher dir zu helfen.
mfg Anton

AW: kannst du eine Beispeildatei hochladen?
19.05.2013 13:32:02
Anton
Hy Anton,
ich habe jetzt ne Kopie angelegt und alles andere für das Problem unnötige gelöscht
https://www.herber.de/bbs/user/85405.xlsm
Ich hoffe das hilft

Alarmfunktion mit Ton in Excel einbauen
20.05.2013 10:03:46
Anton
Hallo Toni,
wenn ich dich richtig verstanden habe, stehen in der Spalte "R" die Zeiten,
wann ein Alarm ausgegeben werden soll, dann so vllt:
Code:

'Code in allgemeines Modul
Dim blnStop As Boolean    
Sub starten()
 'Überwachung starten
  Application.OnTime Now + TimeValue("00:00:15"), "alarm"
End Sub  
Sub beenden()
 'Überwachung beenden
  blnStop = True  
End Sub  
Sub alarm()
  Dim zeile As Long  
  If blnStop = True Then blnStop = False: Exit Sub      
  With Worksheets("Laufzeitrechner")
    For zeile = 5 To .Cells.SpecialCells(xlCellTypeLastCell).Row  
      If DateDiff("s", Time, .Cells(zeile, "R")) < 0 And _  
         DateDiff("s", Time, .Cells(zeile, "R")) > -20 Then
        Application.Goto .Cells(zeile, "R")
        Dim objShell As Object, datei As String    
        Set objShell = CreateObject("Shell.Application")  
        datei = "C:\Temp\1.mp3" 'Pfad zum Song anpassen
        objShell.ShellExecute datei, "", "", "open", 2
        Set objShell = Nothing  
      End If  
    Next
  End With  
  starten
End Sub  


PS: lösche den Code von gestern, füge im VBEditor ein Modul ein, füge diesen Code ein und starte die Sub starten().
Zum Beenden der Überwachung starte die Sub beenden().
mfg Anton

AW: Alarmfunktion mit Ton in Excel einbauen
20.05.2013 13:50:19
Anton
Hallo Anton,
danke erst mal für deine echt super Hilfe.
Also mit allgemeines Modul meintest du wohl für die GANZE Arbeitsmappe oder?
also ich hab VBA-Teil aufgemacht einmal auf diese Arbeitsmappe geklickt dann einfügen modul dann den code von dir reinkopiert gespeichert und hatte dann auch die Möglichkeit das Makro "starten" zu beginnen. Nach kurzer Zeit kam eine Fehlermeldung:
Laufzeitfehler 13:
Typen unverträglich
ein klick auf debuggen öffnete das VBA-Teil und folgende 2 Zeilen vom Code waren gelb markiert:
If DateDiff("s", Time, .Cells(zeile, "R")) DateDiff("s", Time, .Cells(zeile, "R")) > -20 Then
Hoffe diese Angaben helfen dir weiter.

Der Code kommt in,...
20.05.2013 15:22:15
Matze
Hallo,
ein "Modul" wie Anton es schon sagte:
Also mit allgemeines Modul meintest du wohl für die GANZE Arbeitsmappe oder?

Nein, der gehört nicht unter diese Arbeitsmappe!!
Klicke mit der rechten Maustaste im Projekt Fenster (dort wo all deine Tabellen sind u. auch diese Arbeitsmappe) und füge ein Modul ein.
Nun doppelklick darauf damit dieses "aktiv" ist.
Auf der Rechten großen Seite nun deinen Code einfügen.
Bitte schreibe noch ganz oben über deinen Code folgendes:
Option Explicit
Matze

AW: Der Code kommt in,...
20.05.2013 15:49:19
Anton
Hallo Matze,
habe ich gemacht auch das mit dem Option Explizit, sorgte für nen Absturz und Neustart der Excel. Die Fehlermeldung bleibt jedoch vorhanden auch der markierte Bereich änderte sich nicht.

AW: Der Code kommt in,...
20.05.2013 15:56:54
Matze
Hallo,
ich weis nicht was da los ist bei dir?
Kannst du diese Datei hier Hochladen,...danke.
Matze

AW: Der Code kommt in,...
20.05.2013 17:02:57
Anton
Hy
hab ich doch scho. Bzw ich musste sie abspecken, aber alles notwendige ist drin kuck meine Antwort auf Anton´s bitte ob ich ne Beispieldatei hochladen kann.

AW: Der Code kommt in,...
20.05.2013 17:53:10
Anton
Hallo Toni,
alles andere für das Problem unnötige gelöscht
du hast zu viel gelöscht. Die Spalte "R" hat überhaupt keine Daten.
3 bis 5 Zeilen mit Daten bräuchte ich und, wenn möglich, bitte im Office 2003(xls) Format.
mfg Anton

AW: Der Code kommt in,...
20.05.2013 19:13:25
Anton
Hallo Anton,
https://www.herber.de/bbs/user/85416.xlsm
Ich hab jetzt mal 5 Weckzeiten eingetragen. Der versuch das Ganze als XLS zu speichern brachte einige Warnmeldungen, daher nochmal als XLSM hochgeladen. Ich hoffe das hilft dir hier so auch weiter.

mangels Office 2010
20.05.2013 19:58:16
Anton
Hallo Toni,
kann ich erst morgen das Ganze testen.
mfg Anton

was zum Testen
21.05.2013 12:54:34
Anton
Hallo Toni,
'Code in allgemeines Modul
Option Explicit
Dim blnStop As Boolean
Sub starten()
'Überwachung starten
Application.OnTime Now + TimeValue("00:00:15"), "alarm"
End Sub
Sub beenden()
'Überwachung beenden
blnStop = True
End Sub
Sub alarm()
Dim zeile As Long
If blnStop = True Then blnStop = False: Exit Sub
With Worksheets("Laufzeitrechner")
For zeile = 5 To .Cells.SpecialCells(xlCellTypeLastCell).Row
If TypeName(.Cells(zeile, "R").Value) = "Double" Then
If DateDiff("s", Time, CDate(.Cells(zeile, "R")))  -20 Then
Application.Goto .Cells(zeile, "R")
Dim objShell As Object, datei As String
Set objShell = CreateObject("Shell.Application")
datei = "D:\1.mp3" 'Pfad zum Song anpassen
objShell.ShellExecute datei, "", "", "open", 2
Set objShell = Nothing
End If
End If
Next
End With
starten
End Sub

mfg Anton

Hallo oT
21.05.2013 17:42:13
Anton

Ich blicke hier kaum noch durch,...
20.05.2013 18:05:35
Matze
Hallo,
... den Code von Anton(1) habe ich nun in das Modul eingepflegt. Den "alten Code" der in der Tabelle war entfernt. Zum neuen Code: Aufruf über Start
bei auslösen der

Sub alarm
If DateDiff("s", Time, .Cells(zeile, "R")) Time, .Cells(zeile, "R")) > -20 Then
wird ein Kompilierfehler erzeugt: Projekt oder Bibliothek nicht gefunden! (betrifft das Time)
ersetze ich es durch Now, passiert garnix.
Frage an Anton(2 = Fragesteller):
du möchtest doch, wenn ich das alles so richtig verstanden habe die "Weckzeiten" in Spalte R
überwachen ?
hier ein Muster wie ich eine Zelle(a1 in diesem Beispiel) mit der Systemtemzeit als Weckzeit  _
nutze:

Sub Start()'der Überwachung
On Error GoTo hell
Application.OnTime Range("A1").Value, "Wecker" 'in A1 muss eine Uhrzeit stehen Format 00:00
Exit Sub
hell: MsgBox Err.Number & " , " & Err.Description
End Sub

Sub Wecker() 'Alarmaufruf
Dim B As Integer
For B = 1 To 10
Beep ' Systemlautsprecher
Next B ' wird 10 mal ausgeführt
End Sub
Mann müsste das doch umbauen können um die Spalte R zu überwachen.
Ich lasse hier wieder offen, denn meine VBA Kenntnisse sind da noch nicht so gut.
(Lach, du könntest dir aber auch einen "Wecker" stellen)
Matze

OT: Ist das nicht furchtbar, ...
20.05.2013 18:35:38
Luc:-?
…Matze,
wie dein Beitrag jetzt aussieht?! Gewöhne dir doch bitte an, die pre-Tags für PgmCode zu benutzen und das nicht der Forumsautomatik zu überlassen, denn die agiert rein schematisch!
Gruß Luc :-?

VBA-nein, aber Töne müssen her.........kwT
21.05.2013 06:41:50
robert

AW: VBA-nein, aber Töne müssen her.........kwT
21.05.2013 07:42:34
Anton
Hallo Robert,
Ähm das versteh ich grad nicht was du meinst. Ich habe diese geforderten Angaben so aufgefasst, WIE GUT MEINE KENNTNISSE HIER SIND. Und das ist halt mal gute Excelkenntnisse, aber halt leider KEINE bei VBA. Ich dachte immer dafür sei so eine Hilfsplattform wie diese hier da, dass man Leuten hilft die etwas machen wollen, es aber noch nicht können.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge