Ik probeer het volgende voor elkaar te krijgen.
Als een bestand wordt geopend wordt direct een (logboek)macro geactiveerd.
Deze macro opent, op de achtergrond, een ander (logboek)bestand. Dezelfde macro plaatst hier enkele logboekgegevens (gebruiker, naam bestand enz.) en bewaart en sluit dit bestand. Gebruiker merkt hiervan niets en kan ongestoort beginnen in het aanvankelijk geopende bestand. Tot zover geen probleem.
Nu wil ik echter dat andere gebruikers dit logboekbestand niet (lang) kunnen openen, raadplegen, wijzigen enz. Mijn idee was om in het logboekbestand onder ThisWorkbook onderstaande macro te plaatsen (Welke dus automatisch start bij het openen van het bestand). Deze (tijd)macro zorg ervoor dat het bestand nooit langer dan 10 seconden open staat (de andere macro kan binnen deze tijd ruimschoots zijn werk doen).
Private Sub workbook_open()
t = Timer
Do While Timer < t + 10
DoEvents
Loop
ActiveWindow.Close SaveChanges:=False
End Sub
Deze macro werk op zich prima. Het probleem is echter dat deze (tijd)macro enorm vertragend werkt op het (logboek)macro. Dit is nou net niet de bedoeling. Ik wil dus eigenlijk dat het bestand nooit langer dan 10 seconden openstaat. Binnen deze 10 seconden wil ik echter vlot en ongestoord het bestand kunnen wijzigen en opslaan. Wie kan mij helpen.
Als een bestand wordt geopend wordt direct een (logboek)macro geactiveerd.
Deze macro opent, op de achtergrond, een ander (logboek)bestand. Dezelfde macro plaatst hier enkele logboekgegevens (gebruiker, naam bestand enz.) en bewaart en sluit dit bestand. Gebruiker merkt hiervan niets en kan ongestoort beginnen in het aanvankelijk geopende bestand. Tot zover geen probleem.
Nu wil ik echter dat andere gebruikers dit logboekbestand niet (lang) kunnen openen, raadplegen, wijzigen enz. Mijn idee was om in het logboekbestand onder ThisWorkbook onderstaande macro te plaatsen (Welke dus automatisch start bij het openen van het bestand). Deze (tijd)macro zorg ervoor dat het bestand nooit langer dan 10 seconden open staat (de andere macro kan binnen deze tijd ruimschoots zijn werk doen).
Private Sub workbook_open()
t = Timer
Do While Timer < t + 10
DoEvents
Loop
ActiveWindow.Close SaveChanges:=False
End Sub
Deze macro werk op zich prima. Het probleem is echter dat deze (tijd)macro enorm vertragend werkt op het (logboek)macro. Dit is nou net niet de bedoeling. Ik wil dus eigenlijk dat het bestand nooit langer dan 10 seconden openstaat. Binnen deze 10 seconden wil ik echter vlot en ongestoord het bestand kunnen wijzigen en opslaan. Wie kan mij helpen.