Microsoft Excel

Herbers Excel/VBA-Archiv

Quittungston beim Scannen

Betrifft: Quittungston beim Scannen von: mike
Geschrieben am: 21.11.2014 14:00:19

Hallo Forum,

ich bräuchte eine Lösung, um auf einem Rechner, auf dem ein Excel-Sheet als Scanliste läuft, beim Einscannen jeweils einen Quittungston ausgeben zu lassen.
Da die Scan-Aktion sozusagen quer durch den Raum passiert, ist der PC nicht ständig im Blick und ich möchte damit eine akustische Bestätigung ses Scanvorgangs erreichen.

Ich habe schon im Forum gesucht, konnte aber leider nichts finden...

Vielen Dank schon mal!

  

Betrifft: AW: Quittungston beim Scannen von: fcs
Geschrieben am: 21.11.2014 14:17:16

Hallo Mike,

ich weiss nicht genau, ob das Eintragen des Wertes durch die Scannersoftware im Excelblatt ein Ereignis auslöst.

Probiere mal eines der folgenden beiden Makros.

Gruß
Franz

'Ereignismakros im VBA unter dem Tabellenblatt in das der Wert eingescannt wird

'Für dieses Makro im Blatt eine Formel einbauen, die die Zelle(n) mit den eingescanntem Werten  _
beinhaltet.
'z.B.: = Summe(A3:A5)
Private Sub Worksheet_Calculate()
  VBA.Beep
  Application.Wait Now + TimeSerial(0, 0, 1)
  VBA.Beep
End Sub



'hier ist A3 die Zelle in der Scannvorgang den gescannten Wert einträgt.
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address(False, False) = "A3" Then
    VBA.Beep
    Application.Wait Now + TimeSerial(0, 0, 1)
    VBA.Beep
  End If
End Sub




  

Betrifft: AW: Quittungston beim Scannen von: mike
Geschrieben am: 21.11.2014 14:57:01

Hallo Franz,

zuerst mal vielen Dank!
Die zweite Lösung gefällt mir recht gut, weil ich in diesen Zellen keine Formel(n) habe und auch keine brauchen kann. Nun betrifft das allerdings zwei Zellbereiche, in die ich diese Ton-Funktion einbauen müsste. Zum einen C2:C33 und zum anderen H2:H22. Und dabei bleibe ich stecken. hab mit dem Makro rumprobiert, bekomme es aber nicht auf mehr, als die eine Zelle angewendet.

Hast Du da noch eine Idee? Die Zellbereiche dazwischen kann ich nicht benutzen, da das Sheet außer bei den Zellen, in die gescannt wird, gesperrt wird.

Kann über VBA nur der "Beep" ausgegeben werden oder können z.B. auch Windows Signaltöne verwendet werden?

Schon mal vielen Dank!


  

Betrifft: AW: Quittungston beim Scannen von: fcs
Geschrieben am: 22.11.2014 13:20:08

Hallo Mike,

den sensitiven Zellbereich zu erweitern ist kein Problem.

Zum Abspielen von Sounddateien muss ein externes Programm (Player) angesteuert werden - abhängig von den Einstellungen ist dies meist der Windows-Mediaplayer.

Gruß
Franz

'Code unter dem Tabellenblatt mit den Scanwerten
'hier sind C2:C33 und H2:H22 die Zellen in denen der Scannvorgang den gescannten Wert einträgt.

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim bolBeep As Boolean
    Select Case Target.Column
        Case 3 ' Spalte C
            Select Case Target.Row
                Case 2 To 33: bolBeep = True
            End Select
        Case 8 ' Spalte H
            Select Case Target.Row
                Case 2 To 22: bolBeep = True
            End Select
    End Select
    If bolBeep Then
'        Call prcBeep
'        Call prcPlaySound(strFile:="C:\Users\Public\Music\Sample Music\Symphony_No_3.wma")
'        Call prcPlaySound(strFile:="C:\Users\Public\Russisch\kusnetschik.mp3")
        Call prcPlaySound(strFile:="C:\Windows\Media\tada.wav")
    End If
End Sub



'Diese Makros in einem allgemeinen Modul speichern oder ebenfalls unter dem Tabellenblattmodul
Sub prcBeep()
        VBA.Beep
        Application.Wait Now + TimeSerial(0, 0, 1) '1 Sekunde Pause
        VBA.Beep
End Sub

Sub prcPlaySound(strFile As String)
    Dim objShell
    'Sound-Datei als Alarm
    Set objShell = CreateObject("Shell.Application")
    objShell.ShellExecute strFile, "", "", "open", 2
    Set objShell = Nothing
    
End Sub