Hallo,
Gab's da nicht mal einen Witz?
"Meine Nachbarn hämmern die ganze Nacht laut gegen die Wand. Stört das nicht beim Einschlafen? Nee, aber beim Trompete üben!"
Mal im Ernst: Da habt ihr ja 'ne schöne Fehde am Laufen. Eigentlich sollte man sowas ja nicht unterstützen. Feuer mit Feuer zu bekämpfen hat noch nie etwas gebracht (außer bei geübten und erfahrenen Feuerwehrleuten). Sprich lieber mit deinem Nachbarn und nimm 'ne Kiste Bier mit. Wenn ihr euch erstmal verbrüdert habt, ist das Generve vielleicht vorbei.
Rein technisch allerdings gäbe es da schon eine Möglichkeit. Im Netz findet man doch tatsächlich VBA-Code für sowas. Hab lediglich den Zufallsgenerator ergänzt.
'Hauptcode von hier: https://wellsr.com/vba/2016/excel/use-vba-to-mute-unmute-volume-up-volume-down/
Option Explicit
Const VK_VOLUME_MUTE = &HAD
Const VK_VOLUME_DOWN = &HAE
Const VK_VOLUME_UP = &HAF
Dim Canceled As Boolean
#If VBA7 Then
Private Declare PtrSafe Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare PtrSafe Function KeyPressed Lib "user32.dll" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer
#Else
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function KeyPressed Lib "user32.dll" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer
#End If
Sub VolUp()
keybd_event VK_VOLUME_UP, 0, 1, 0
keybd_event VK_VOLUME_UP, 0, 3, 0
End Sub
Sub VolDown()
keybd_event VK_VOLUME_DOWN, 0, 1, 0
keybd_event VK_VOLUME_DOWN, 0, 3, 0
End Sub
Sub VolToggle()
keybd_event VK_VOLUME_MUTE, 0, 1, 0
End Sub
Sub Lautstaerke_aendern()
Dim vol As Byte, Start As Single, waittime As Integer, newvol As Byte, i As Byte
Const maxtime = 30 'Maximale Zeit in Sekunden bis zur nächsten Änderung
Const maxvol = 50 'Maximale Änderung
Randomize Timer
Start = Timer
Do
If Timer >= Start + waittime Or Timer < Start Then
For i = 1 To 100
Call VolDown
Next i
newvol = Int(Rnd * maxvol + 1)
For i = 1 To newvol
Call VolUp
Next i
waittime = Int(Rnd * maxtime + 1)
Start = Timer
End If
DoEvents
Loop Until KeyPressed(vbKeyEscape) Or Canceled
End Sub
Ob Excel VBA jetzt das richtige Programm dafür ist, sei dahingestellt. Vielleicht bietet jemand ja eine bessere Alternative. Aber nochmals: Du solltest es irgendwann nochmal auf die nette Art versuchen. Dein Nachbar denkt sicher ähnlich wie du und reagiert wiederum auf deine Musik.
Auf ein besseres Miteinander.
Mr. K.