vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
NumLock wird unabsichtlich deaktiviert 
Autor: The-One
Datum: 11.11.20 16:21

Hallo Forumgemeinde,

ich bin neu hier und habe gleich mal eine Frage.

Ich arbeite in einem Unternehmen, bei dem ich für die Mitarbeiter/innen unserer Abteilung je eine Excel-Datei erstellt habe. Diese Dateien sind absolut identisch vom Aufbau her, da hier die Überstunden der jeweiligen Mitarbeiter/innen erfasst werden. Jeder kann selber seine Überstunden erfassen. Damit aber niemand am Makro "herumfuschen" kann, habe ich das VBA-Projekt mit einem Passwort geschützt.

Jetzt kommt es aber auch mal vor, dass ich Fehler in dem Makro ausbügeln muss, dazu habe ich eine Backup-Datei geschrieben, damit ich nicht jede Datei einzeln korrigieren muss. Es ist aber nicht möglich (oder ich kenne es nicht), wenn man in den jeweiligen Dateien das Projekt mit einem Passwort schützt, mit einer externen Datei irgendetwas zu ändern.

Hier bin ich so vorgegangen, dass bei Laden der jeweiligen Dateien geprüft wird, ob ich im System angemeldet bin, da nur ich die Updates einspiele.
Private Sub Workbook_Open()
    Dim datei As Workbook
    Dim Netzwerk As Object
 
    Set Netzwerk = CreateObject("wscript.network")
 
    If Netzwerk.UserName = "Benutzer" Then Call Modul1.VBA_Passwort_Aufheben
End Sub
Wenn dies zutrifft, wird die Prozedur VBA_Passwort_Aufheben aufgerufen, das Passwort aufgehoben (nicht entfernt) und das Update kann laufen.
Sub VBA_Passwort_Aufheben()
    With Application
    .ScreenUpdating = False
    .SendKeys "%{F11}"
    .SendKeys "%xi"
    .SendKeys "Passwort"
    .SendKeys "{enter}"
    .SendKeys "{esc}"
    .SendKeys "%{F11}"
    .ScreenUpdating = True
    End With
    DoEvents
End Sub
Meine Vorgehensweise funktioniert soweit ganz gut und auch das Update wird in jede einzelne Datei eingespielt.
Aus irgendeinem Grund habe ich einen Nebeneffekt, den ich nicht nachvollziehen konnte. Und zwar wird dabei das NumLock deaktiviert.
Könnt ihr mir evtl. helfen wieso es dazu kommt und wie ich es korrigieren kann?

Zwar ist der Nebeneffekt nicht gravierend, da ich es einfach wieder aktivieren kann. Aber wenn ich im Homeoffice bin, kann ich es nicht mehr aktivieren und es ist lästig, wenn ich die Num-Tasten nicht benutzen kann. Nur ein Neustart des PCs hilft da weiter.

Vielen Dank im Voraus.
Mevlüt
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: NumLock wird unabsichtlich deaktiviert 
Autor: Souffleurlos
Datum: 11.11.20 18:49

Hallo,
ich habe die Sendkeys - Folge nicht bepürft. Aber so aus dem Bauch raus würde ich Dir empfehlen bei Sendekeys auf den Erfolg der Operation zu WARTEN. Das ist, wenn man den optionalen zweiten Parameter der Funktion auf TRUE setzt.

.SendKeys "%xi", TRUE

Dann macht die Sequenz genau was Du willst und nicht deaktiviere dies und jenes.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: NumLock wird unabsichtlich deaktiviert 
Autor: The-One
Datum: 11.11.20 19:45

Habe den Code wie folgt angepasst:
Sub VBA_Passwort_Aufheben() 'VBA-Kennwort aufheben
 
    With Application
    .ScreenUpdating = False
    .SendKeys "%{F11}", True
    .SendKeys "%xi", True
    .SendKeys "Passwort", True
    .SendKeys "{enter}", True
    .SendKeys "{esc}", True
    .SendKeys "%{F11}", True
    .ScreenUpdating = True
    End With
    DoEvents
End Sub
Es hilft leider nicht. Das NumLock wird weiterhin deaktiviert
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: NumLock wird unabsichtlich deaktiviert 
Autor: ModeratorDieter (Moderator)
Datum: 12.11.20 07:25

GGf. könntest du ja die NUM-Lock Taste gezielt aktivieren:
NUM-Lock ein/ausschalten

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: NumLock wird unabsichtlich deaktiviert 
Autor: The-One
Datum: 12.11.20 07:29

@Dieter
Ja das habe ich gestern Abend noch versucht und es klappt.

Habe vor End With noch folgendes eingefügt:
.SendKeys "%{NUMLOCK}", True
Trotzdem wüsste ich, warum die NumLock deaktiviert wird
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel