AW: alle controls in menü datei ausblenden
20.08.2005 10:16:57
Matthias
Hallo Sören,
ansonsten wird das ja der absolute horror, alle zu vorhandenen zu sperren/entsperren...
Nicht, wenn sich schon jemand die Mühe gemacht hat ;-)
Ich hab selbst sowas am laufen:
Sub LockKeys()
With Application
.OnKey "^{PGUP}", "" 'Blattwechsel vor
.OnKey "^{PGDN}", "" 'Blattwechsel zurück
.OnKey "^a", ""
.OnKey "^b", ""
.OnKey "^c", ""
.OnKey "^d", ""
.OnKey "^e", ""
.OnKey "^f", ""
.OnKey "^g", ""
.OnKey "^h", ""
.OnKey "^i", ""
.OnKey "^j", ""
.OnKey "^k", ""
.OnKey "^l", ""
.OnKey "^m", ""
.OnKey "^n", ""
.OnKey "^o", ""
.OnKey "^p", ""
.OnKey "^q", ""
.OnKey "^r", ""
.OnKey "^s", ""
.OnKey "^t", ""
.OnKey "^u", ""
.OnKey "^v", ""
.OnKey "^w", ""
.OnKey "^x", ""
.OnKey "^y", ""
.OnKey "^z", ""
.OnKey "^,", ""
.OnKey "^.", ""
.OnKey "^-", ""
.OnKey "^#", ""
.OnKey "^{+}", ""
.OnKey "^ß", ""
.OnKey "^0", ""
.OnKey "^9", ""
.OnKey "^8", ""
.OnKey "^7", ""
.OnKey "^6", ""
.OnKey "^5", ""
.OnKey "^4", ""
.OnKey "^3", ""
.OnKey "^2", ""
.OnKey "^1", ""
.OnKey "{F1}", ""
.OnKey "{F2}", ""
.OnKey "^{F2}", ""
.OnKey "^%{F2}", ""
.OnKey "{F3}", ""
.OnKey "^{F3}", ""
.OnKey "{F4}", ""
.OnKey "{F5}", ""
.OnKey "{F6}", ""
.OnKey "{F7}", ""
.OnKey "{F8}", ""
.OnKey "{F9}", ""
.OnKey "{F10}", ""
.OnKey "{F11}", ""
.OnKey "{F12}", ""
.OnKey "^{F12}", ""
.OnKey "+{F1}", ""
.OnKey "+{F2}", ""
.OnKey "+{F3}", ""
.OnKey "+{F4}", ""
.OnKey "+{F5}", ""
.OnKey "+{F6}", ""
.OnKey "+{F7}", ""
.OnKey "+{F8}", ""
.OnKey "+{F9}", ""
.OnKey "+{F10}", ""
.OnKey "+{F11}", ""
.OnKey "+{F12}", ""
.OnKey "%{F2}", ""
.OnKey "^%{F9}", ""
'VB-Editor
.OnKey "%{F8}", ""
.OnKey "%{F11}", ""
.OnKey "+%{F11}", ""
'Ziffernblock:
.OnKey "^{111}", "" 'geteilt
.OnKey "^{106}", "" 'mal
.OnKey "^{109}", "" 'minus
.OnKey "^{107}", "" 'plus
End With
End Sub
Sub UnlockKeys()
With Application
.OnKey "^{PGUP}"
.OnKey "^{PGDN}"
.OnKey "^a"
.OnKey "^b"
.OnKey "^c"
.OnKey "^d"
.OnKey "^e"
.OnKey "^f"
.OnKey "^g"
.OnKey "^h"
.OnKey "^i"
.OnKey "^j"
.OnKey "^k"
.OnKey "^l"
.OnKey "^m"
.OnKey "^n"
.OnKey "^o"
.OnKey "^p"
.OnKey "^q"
.OnKey "^r"
.OnKey "^s"
.OnKey "^t"
.OnKey "^u"
.OnKey "^v"
.OnKey "^w"
.OnKey "^x"
.OnKey "^y"
.OnKey "^z"
.OnKey "^,"
.OnKey "^."
.OnKey "^-"
.OnKey "^#"
.OnKey "^{+}"
.OnKey "^ß"
.OnKey "^0"
.OnKey "^9"
.OnKey "^8"
.OnKey "^7"
.OnKey "^6"
.OnKey "^5"
.OnKey "^4"
.OnKey "^3"
.OnKey "^2"
.OnKey "^1"
.OnKey "{F1}"
.OnKey "{F2}"
.OnKey "^{F2}"
.OnKey "^%{F2}"
.OnKey "{F3}"
.OnKey "^{F3}"
.OnKey "{F4}"
.OnKey "{F5}"
.OnKey "{F6}"
.OnKey "{F7}"
.OnKey "{F8}"
.OnKey "{F9}"
.OnKey "{F10}"
.OnKey "{F11}"
.OnKey "{F12}"
.OnKey "^{F12}"
.OnKey "+{F1}"
.OnKey "+{F2}"
.OnKey "+{F3}"
.OnKey "+{F4}"
.OnKey "+{F5}"
.OnKey "+{F6}"
.OnKey "+{F7}"
.OnKey "+{F8}"
.OnKey "+{F9}"
.OnKey "+{F10}"
.OnKey "+{F11}"
.OnKey "+{F12}"
.OnKey "%{F2}"
.OnKey "^%{F9}"
'VB-Editor
.OnKey "%{F8}"
.OnKey "%{F11}"
.OnKey "+%{F11}"
'Ziffernblock:
.OnKey "^{111}" 'geteilt
.OnKey "^{106}" 'mal
.OnKey "^{109}" 'minus
.OnKey "^{107}" 'plus
End With
End Sub
Rufe die Prozeduren LockKeys und UnlockKeys einfach in deinen bestehenden Prozeduren (Sperren/Entsperren) auf.
Achtung: Es befinden sich darin auch Tastenkombis, die das aufrufen des VB-Editors unmöglich machen. Wenn deine Mappe die einzig geöffnete ist, kannst du nicht mehr auf den Editor zugreifen (sonst einfach eine andere Mappe aktivieren).
Du solltest noch so eine Art Admin-Modus hinzufügen, der nach Kennwortabfrage alles wieder freigibt. Denn die Einschränkungen sollen ja nur für die Anwender gelten, nicht für dich...
Die einfachste Form:
In LockKeys:
.OnKey "^a", "SetAdmin" 'statt ""
Dann:
Sub SetAdmin()
Dim pw As String
pw = InputBox("Kennwort:", "Admin-Modus")
If pw = "123" Then
Entsperren
Else
Sperren
End If
End Sub
So kannst du im gesperrten Modus mit Strg-A und Kennworteingabe die Beschränkungen aufheben.
Gruß Matthias