lässt sich die PC-Lautstärke per VBA ändern:
Lautstärke auf 100%
später wiederLautstärke auf 50%
Geht das? Und was muss ich bitte machen?Danke schonmal und Grüße
Franz
Lautstärke auf 100%
später wiederLautstärke auf 50%
Geht das? Und was muss ich bitte machen?intRet = setVolume(intVolume)
Mach ich was falsch?steht die Systemlautstärke auf voll: dann ergibt die Wahl "100" im Code auch volle Lautstärke, "30" ergibt 30% der Systemlautstärke.
Steht die Systemlautstärke aber nicht auf "voll", sondern z. B. auf halber Lautstärke:
jetzt ergibt die Vorwahl "100" nicht hundert Prozent der Systems, sondern nur 50 Prozent, also _
das Maximum der eingestellten Systemlautstärke.
Vorwahl "30" ergibt dann also eine Lautstärke am unteren Ende der gesamtmöglichen Systemlautstärke.
Um die Lautstärke deines PCs über VBA zu ändern, kannst du die Funktion waveOutSetVolume
verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
Öffne den Visual Basic for Applications (VBA) Editor:
ALT + F11
in Excel.Füge ein neues Modul hinzu:
Einfügen
und wähle Modul
.Füge den folgenden VBA-Code ein:
Private Declare Function waveOutSetVolume Lib "winmm.dll" (ByVal wDeviceID As Integer, ByVal dwVolume As Long) As Integer
Sub setVolume(ByVal Volume As Integer)
Dim intRet As Integer, vol As Long
If Volume < 0 Then Volume = 0
If Volume > 100 Then Volume = 100
vol = Int(65535 / -100 * Volume)
intRet = waveOutSetVolume(0, vol)
End Sub
Sub changeVolume()
Dim intVolume As Integer
intVolume = 50 ' Setze hier deinen gewünschten Wert zwischen 0 und 100!
setVolume intVolume
End Sub
Ändere den Wert in intVolume
:
intVolume
auf den gewünschten Lautstärkegrad (0 bis 100).Führe das Makro aus:
ALT + F8
, wähle changeVolume
und klicke auf Ausführen
.Fehlermeldung: "Function oder Variable erwartet":
setVolume
korrekt geschrieben ist und dass du die Funktion nicht außerhalb des Moduls aufrufst.Lautstärke wird nicht korrekt eingestellt:
Wenn du die Lautstärke direkt über Windows steuern möchtest, kannst du folgende Methoden ausprobieren:
Verwendung von PowerShell:
(Get-WmiObject -Class Win32_SoundDevice).SetVolume(50)
Drittanbieter-Tools:
NirCmd
.Hier sind einige Beispiele für verschiedene Lautstärkewerte:
Lautstärke auf 0% setzen:
intVolume = 0
setVolume intVolume
Lautstärke auf 100% setzen:
intVolume = 100
setVolume intVolume
Windows 11 Lautstärke erhöhen über 100%:
waveOutSetVolume
die Systemlautstärke nur bis zu 100% anpassen kann. Du kannst jedoch die Systemlautstärke über die Windows-Soundeinstellungen erhöhen.Verwende Static
Variablen:
Static
Variablen nutzen.Fehlerbehandlung einfügen:
Systemlautstärke überwachen:
1. Kann ich die Lautstärke über 100% setzen?
Ja, über den VBA-Code waveOutSetVolume
ist es nicht möglich, die Lautstärke über 100% zu erhöhen. Du kannst jedoch die Systemlautstärke selbst anpassen.
2. Welche Excel-Version benötige ich für diese Funktion? Der VBA-Code sollte in den meisten Versionen von Excel funktionieren, einschließlich Excel 2016, 2019 und Excel für Microsoft 365.
3. Wie kann ich die Lautstärke für verschiedene Anwendungen steuern? Der Code steuert die Gesamtsystemlautstärke und nicht spezifische Anwendungen. Für spezifische Steuerungen sind zusätzliche Tools erforderlich.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen