• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Monitoren van gebruik excel bestand

Status
Niet open voor verdere reacties.

ricohard73

Gebruiker
Lid geworden
27 jun 2007
Berichten
23
Wie kan mij op weg helpen?

Op mijn werk gebruiken we een excel bestandje voor het invoeren van busgegevens.
Er rijden 2 bussen van 07:30 tot 17:00h. Deze bussen worden ingezet als pendelbus tussen 5 locaties.
Dit bestand wordt door meerdere personen gebruikt.
Nu is de vraag hoe we kunnen registreren hoelang een medewerker per dag bezig is met het invoeren van gegevens.

Kan ik op de een of andere manier registreren hoelang in tijd een persoon het excelbestand gebruikt?

Als dit niet mogelijk is, kan ik dan wel registreren hoevaak excel wordt geopend op een dag?

Hopelijk kan iemand mij helpen

Groet,
Richard
 
laat tijdens het openen van je bestand en extern leeg excel document opstarten (vba via workbook open) gebruik de funtie =nu() die de datum en tijd voor je bewaard
 
Laatst bewerkt:
Pas deze toe:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Open "C:\Gebruik.log" For Append As 1
Write #1, "Close :" & Now, Environ("USERNAME")
Close #1
End Sub

Private Sub Workbook_Open()
Open "C:\Gebruik.log" For Append As 1
Write #1, "Open :" & Now, Environ("USERNAME")
Close #1
End Sub

Zo heb je de openings- en sluitingstijd van je bestand

Cobbe
 
Cobe,

ik ben ook geinteresseerd in deze post. Kun je me uitleggen wat jouw VBA-code precies doet?:confused:

Api
 
Deze slaat de tijd van sluiten en de gebruiker, op bij het sluiten van het bestand :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Open "C:\Gebruik.log" For Append As 1
Write #1, "Close :" & Now, Environ("USERNAME")
Close #1
End Sub

Deze slaat de tijd van opeen en de gebruiker, op bij het openen van het bestand:

Private Sub Workbook_Open()
Open "C:\Gebruik.log" For Append As 1
Write #1, "Open :" & Now, Environ("USERNAME")
Close #1
End Sub

Dit 'Gebruik.log' -bestand kan je gewoon in Wordpad openen en nakijken wie wanneer wat heeft gedaan.

Cobbe
 
Oke Cobbe,

bedankt voor je reactie, maar dat had ik wel gelukkig al begrepen. ;)
Ik bedoelde meer wat de afzonderlijke opdrachten deden. Zou je dat kunnen toelichten?:)

Api
 
' code wordt actief bij openen bestand
Private Sub Workbook_Open()
' Open(indien niet, maak) bestand 'gebruik.log' om bij te schrijven(for append-aanhangen)
Open "C:\Gebruik.log" For Append As 1
' Schrijf : Open om datum & tijd & Gebruikersnaam
Write #1, "Open :" & Now, Environ("USERNAME")
' sluit bestand gebruik.log
Close #1
' einde
End Sub

Zo goed?

Cobbe
 
Oke Cobbe,

bedankt. Ben wel bekend met VBA, maar deze commando's waren nog onbekend. Ga ik zelf mee experimenteren.:thumb:

Api
 
Bedankt voor de tip, het werkt.
Nu komen de gegevens wel in een log bestand te staan.

Nu doe ik de gegevens uit het logbestand importeren in excel.
Echter zijn de gegevens zo variabel dat ik ze niet gesorteerd krijg.

Als voorbeeld.

Open --datum+tijd-- gebruiker
Close --datum+tijd-- gebruiker

Als de gegevens zo zijn dat open en close op elkaar aansluiten is de berekening van het verschil tussen open en close vrij eenvoudig. Echter is dit niet het geval. Als gebruiker a het bestand heeft geopend en enkele seconde later gebruiker b dan wordt het gerigistreerd als
Open --datum+tijd-- gebruiker A
Open --datum+tijd-- gebruiker B
Close --datum+tijd-- gebruiker A
Close --datum+tijd-- gebruiker B

Hoe kan ik de gegevens nu zo krijgen bij het inlezen dat deze worden gesorteerd per gebruiker en dat open en close op elkaar aansluiten.
Dit zodat ik de tijdsverschillen tussen open en close kan berekenen.

Alvast bedankt,

Richard
 
Dan zal je in VBA een lus moeten schrijven waarbij je door elke cel gaat en al dan niet de nodige verschuivingen doet. Lijkt me niet simpel op het eerste zicht.
 
Is het dan misschien mogelijk om per gebruiker een log-bestand te laten openen.
dan voorkom je in ieder geval het open en close verhaal.....
 
als je dat bestand na het openen sorteert mer key1 de gebruiker en met key2 de datum en tijd. Dan kan je toch buiten uitzonderingen (zoals zelfde gebruiker die het bestand een paar keer achtereen opent zonder eerst de voorgaande versie af te sluiten) er toch vanuit gaan dat per gebruiker een open gevolgd wordt door een close. (via voorwaardelijke opmaak kan je "foutjes" hiertegen zichtbaar laten worden). Op die manier kan je dan je berekeningen uitvoeren.
 
Hier wordt het logboek op blad3 bijgehouden.
Speelt ansich geen rol maar de gegevens kunnen toch gewoon weer ingelezen worden en gesorteerd op gebruiker.
Dan heb je toch de open- en closetijd van elk.

Cobbe
 
Laatst bewerkt:
Cobbe,

Ik scriptje overgenomen. Op zich werkt het alleen meet hij nu het tijdsverschil tussen openen en openen.
Het stukje opslaan bij sluiten zit er niet in. Of ik moet iets gigantisch fout doen:confused:

In ieder geval alvast bedankt.

Rich
 
Heb het opslaan vd gegevens aangepast , waren een regel verschoven omdat het begin-openen natuurlijk niet gelogd wordt.

Cobbe
 
Laatst bewerkt:
Cobbe,

Heb het nu getest en het werkt.
Kan nu alleen niet kijken hoe hij registreerd bij meerdere gebruikers,
Ben benieuwd...Morgen hoor je het wel van me.

In ieder geval thanx voor de moeite......

Groet,
Rich
 
helaas, werkt niet.
Als er meerdere gebruikers gebruik maken van het excel programma dan gaat het niet goed.

Stel ik log in en daarna een 2de gebruiker. Als deze eerder uitlogd dan ik dan komt deze registratie op de regel van de 1ste ingelogde persoon.

Is het mogelijk om de gebruikers dan tevens aan een regel te koppelen?

Rich
 
Ik wil wel helpen, maar een klein beetje kan je toch nog zelf doen.
Ik begrijp niet goed wat er eigenlijk scheelt aan die registraties.
Alle open- en sluitbewegingen worden geregistreerd samen met de gebruikernaam.
Het is toch maar een kleine moeite om deze uit te filteren op 'gebruiker'.

Cobbe
 
Cobbe,

Bedankt voor de hulp die je tot nu toe hebt gegeven:thumb: . Ik kan daar zeker mee aan de slag.
Uiteraard kan ik de gebruikers met filters sorteren e.d.
Ik vroeg me alleen af of je bepaalde voorwaarden kan creeeren inVBA.
Ik ben hier totaal niet bekend mee en weet dus ook niet waar de grenzen liggen....:o ...

Rich
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan