Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
984to988
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
984to988
984to988
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wenn Eintrag in Zelle dann "Beep"

Wenn Eintrag in Zelle dann "Beep"
22.06.2008 18:04:00
Rolf
Hallo Excel Experten!
Aus einer Datenbank werden jede Sekunde Zeiten nach Tabellenbaltt "RFID" Spalte C3:C1000 ausgelesen.
Es wird mit einem Excel Makro ausgelesen.
Hier ist das Makro:
Dim DateiPos As Long
Dim zeile As Integer
Dim datei As String
Option Explicit
Dim z As Double
Dim Startzeit As Date
Dim Uhrlaeuft As Boolean
Dim strMsg As String
Public NextTime As Date
Public Zeit1 As Date
Sub AusTextDatei()
DateiPos = 0
zeile = 0
datei = Application.GetOpenFilename("TagRegEx.dat,*.dat")
Cells(1, 1) = 1
LeseAbPos
End Sub


Sub LeseAbPos()
Dim Zeilenoffset As Integer
Dim strTxt As String
Dim FileLen As Long
If Cells(1, 1) 1 Then
Exit Sub
End If
Zeilenoffset = 2 'erste beiden Zeilen für die Überschriften
Open datei For Input As #1
Seek #1, DateiPos + 1
FileLen = LOF(1)
' Nur zur Information
'Cells(1, 2) = FileLen
'Cells(1, 3) = DateiPos
Do Until DateiPos >= FileLen
' in zeile wird die aktuelle Zeilennummer als
' globale Variable zwischen den Aufrufen gespeichert!
zeile = zeile + 1
' Zeile Einlesen
Line Input #1, strTxt
' Verarbeiten und das nächste mal nach den gelesenen Zeilen weiterlesen
' Hinter jeder Zeile folgen 2 Zeichen Zeilentrenner!
DateiPos = DateiPos + 2 + VerarbeiteZeile(strTxt, zeile + Zeilenoffset)
Loop
Cells(1, 4) = zeile
Close #1
'Uhrzeitspalte formatieren
Range(Cells(3, 3), Cells(ActiveSheet.Rows.Count, 3).End(xlUp)).NumberFormat _
= "hh:mm:ss.000"
'MsgBox "Habe die Daten ausgelesen!"
' wieder aufufen nach .. Sekunden
Application.OnTime Now + TimeValue("00:00:01"), "LeseAbPos"
End Sub


' Rückgabe: Länge der eingelesenen Zeile
Function VerarbeiteZeile(strZeile As String, intAktRow As Integer) As Integer
Dim iCol As Integer, iPosSemicolon As Integer
Dim ZeilenLänge As Integer
On Error GoTo Fehler
iCol = 1
' Erwartet wird ein Ausdruck, der von den Zeichenpositionen genau so aufgebaut ist:
' Länge einer Zeile muss 40 sein!!
ZeilenLänge = 40
VerarbeiteZeile = 0
Cells(intAktRow, iCol) = zeile
iCol = iCol + 1
If Len(strZeile) > ZeilenLänge Or Len(strZeile) Cells(intAktRow, iCol) = "Fehler: " & strZeile
VerarbeiteZeile = Len(strZeile)
Exit Function
End If
iPosSemicolon = InStr(20, strZeile, ";")
'Datum auslesen
Cells(intAktRow, iCol) = CDate(Left(strZeile, 10))
'Uhrzeit auslesen, in Zahl umwandeln _
und 1000stel Sekunden ausschneiden, umwandeln und addieren
Cells(intAktRow, iCol + 1) = CDbl(CDate(Mid(strZeile, 12, 8))) _
+ CDbl(Mid(strZeile, 21, iPosSemicolon - 21)) / 1000 / 24 / 3600
'Text nach Semicolon enlesen
Cells(intAktRow, iCol + 2) = Mid(strZeile, iPosSemicolon + 1, 16)
Fehler:
If Err.Number 0 Then
Cells(intAktRow, iCol) = "Fehler: " & strZeile
End If
VerarbeiteZeile = Len(strZeile)
End Function



Public Sub StopEinlesen()
Cells(1, 1) = 0
End Sub


Wäre nach jedem neuen Eintrag in Zelle C3:C1000 ein Ton möglich?
Danke für eure Hilfe!
Gruß
Rolf

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn Eintrag in Zelle dann "Beep"
22.06.2008 18:43:04
Rolf
Hallo Tino!
Vielen Dank für die Nachricht!
Aber wie und was muß ich in mein Makro einbauen?
Oder muß ein neues Makro her?
Gruß
Rolf

AW: Wenn Eintrag in Zelle dann "Beep"
22.06.2008 18:55:07
Tino
Hallo,
ist nicht schwer.
Am einfachsten, in ein neues Modul

Private Declare Function Beep Lib "kernel32" _
(ByVal dwFreq As Long, ByVal dwDuration As Long) _
As Long
Function MeineTöne()
‘Töne und dauer nach deinen Vorstellungen anpassen
Beep 500, 1000  'Tonlage, dauer in ms
Beep 725, 1000
Beep 1025, 1000
End Function


An die stelle wo der Ton erzeugt werden soll einfach nur
MeineTöne
schreiben
Gruß Tino

www.VBA-Excel.de


Anzeige
Interssant, aber mein Excel schweigt (XL2000)
22.06.2008 19:25:00
Matthias
Hallo Tino
Hab mal versucht das umzusetzen, ohne Erfolg.
Die Systemklänge sind aktiviert.
Ich habe zum Ersten den Code von Peter Haserodt's Seite
http://www.online-excel.de/excel/singsel_vba.php?f=12
kopiert aber es klappte leider nicht. (mein System: XP Professional SP2 - XL2000)
Auch in der nun von Dir gesendeten Datei bringt mein System keinen Ton raus.
Oder hab ich noch was zu beachten ?
Wäre schon interssant.
Gruß Matthias

Anzeige
AW: Interssant, aber mein Excel schweigt (XL2000)
22.06.2008 19:43:25
Tino
Hallo,
nein gibt nichts zu beachte.
Vieleicht doch Systemabhängig.
bei mir Win Vista Office 2007
Gruß Tino

dann soll's so sein Schade. Danke fürs Feedback oT
22.06.2008 19:48:00
Matthias

Auf welchen Systemen funktioniert es?
22.06.2008 23:52:00
Tino
Hallo Matthias,
habe es soeben auf meinem Laptop getestet.
Win XP Pro mit SP2 und Office 2003
Die Klänge sind sogar noch deutlicher zu hören als am normalen Rechner.
Würde mich über Infos an welchen Systemen es funktioniert oder nicht funktioniert sehr freuen.
https://www.herber.de/bbs/user/53269.xls
Gruß Tino

AW: Wenn Eintrag in Zelle dann "Beep"
22.06.2008 19:32:05
Rolf
Hallo Tino!
Ich habe das Makro in das Tabellenblatt RFID kopiert und ausprobiert es geht!
Nun wollte ich MeineTöne in mein Makro schreiben.
Da kommt die Meldung!
Fehler beim Komplieren!
Sup oder Funktion nicht definiert.
Vielleicht kannst du noch mal helfen?
Danke!
Gruß
Rolf

Anzeige
AW: Wenn Eintrag in Zelle dann "Beep"
22.06.2008 19:38:00
Tino
Hallo,
in ein Modul
Gruß Tino

AW: Wenn Eintrag in Zelle dann "Beep"
22.06.2008 19:52:00
Rolf
Hallo Tino!
Super jetzt geht es!
Jetzt muß ich nur noch einen schönen Ton finden! :)
Danke!
Gruß
Rolf

AW: Wenn Eintrag in Zelle dann "Beep"
22.06.2008 19:57:22
Tino
Hallo,
super!
Hast du dir mal in die tstmappe rein gesehen?
Gruß Tino

AW: Wenn Eintrag in Zelle dann "Beep"
22.06.2008 19:05:08
Daniel
Hi
mit dem Befehl BEEP lässt sich in VBA ein Ton erzeugen. (zumindest in Excel 2002)
der Ton wird aus den Windowseinstellungen übernommen, eine weitere Modifikation des Tons ist in VBA nicht möglich.
Gruß, Daniel

332 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige