• 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.

Wie opende dit bestand voor het laatst?

Status
Niet open voor verdere reacties.

eefjek1986

Gebruiker
Lid geworden
27 sep 2012
Berichten
53
Hallo allemaal,

weet wellicht iemand hoe ik de naam van de laatste gebruiker van een bestand / of die het bestand voor het laatst heeft geopend kan achterhalen?


Alvast veel dank.


Groetjes,


Eefje:o
 
Kun je hier iets mee?
Je kan Blad3 verbergen en je VBA protecten met een paswoord.
 

Bijlagen

Hallo Cobbe,

ja daar kan "ik" wat mee! Maar hoe is jouw code in dit stuk van mij in te passen?

Code:
Option Explicit
Private Sub Workbook_Open()
Dim dagdeel As String
Dim Counter As Long, LastOpen As String, Msg As String
 
 '   Haal alle gegevens op
    Counter = GetSetting("XYZ Corp", "Budget", "Count", 0)
    LastOpen = GetSetting("XYZ Corp", "Budget", "Opened", "")
   Counter = -1
    Call BeveiligingAan
        ActiveWindow.Caption = ActiveWorkbook.FullName
    Range("b25").Activate
    Range("H2") = UCase(gebruiker)
    If Time < 0.5 Then
        dagdeel = "morgen "
    ElseIf Time >= 0.5 And Time < 0.75 Then
        dagdeel = "middag "
    Else: dagdeel = "navond "
    End If
    Msg = "Goede" & dagdeel & vbCr & vbCr & UCase(gebruiker) & "," & _
    vbCr & vbCr & "dit bestand is tot nu toe " & vbCr & vbCr & Counter + 1 & " keer geopend " & _
    vbCr & vbCr & "de laatste keer was op " & vbCr & vbCr & LastOpen
    MsgBox Msg, vbInformation, ThisWorkbook.Name
                
'   Update de informatie en opslaan
    Counter = Counter + 1
    LastOpen = Format(Date, "dddd dd mmmm yyyy") & vbCr & vbCr & "om " & Format(Time, "hh:mm") & " uur" 'Date & " " & Time
    SaveSetting "XYZ Corp", "Budget", "Count", Counter
    SaveSetting "XYZ Corp", "Budget", "Opened", LastOpen
End Sub

Is achter dit stukje

Code:
"de laatste keer was op..... door.......

de naam zichtbaar te krijgen?

Groetjes,

Eefje
 
Laatst bewerkt:
Heb de ingebouwde functie ingepast(rood):

Code:
Private Sub Workbook_Open()
Dim dagdeel As String, user As Variant
Dim Counter As Long, LastOpen As String, Msg As String
 
 '   Haal alle gegevens op
    Counter = GetSetting("XYZ Corp", "Budget", "Count", 0)
    LastOpen = GetSetting("XYZ Corp", "Budget", "Opened", "")
   Counter = -1
    'Call BeveiligingAan
        ActiveWindow.Caption = ActiveWorkbook.FullName
    Range("b25").Activate
   ' Range("H2") = UCase(gebruiker)
    If Time < 0.5 Then
        dagdeel = "morgen "
    ElseIf Time >= 0.5 And Time < 0.75 Then
        dagdeel = "middag "
    Else: dagdeel = "navond "
    End If
    Msg = "Goede" & dagdeel & vbCr & vbCr & UCase(user) & "," & _
    vbCr & vbCr & "dit bestand is tot nu toe " & vbCr & vbCr & Counter + 1 & " keer geopend " & _
    vbCr & vbCr & "de laatste keer was op " & vbCr & vbCr & LastOpen [B][/B][COLOR="#FF0000"]& "  door : " & BuiltinDocumentProperties(7)[/COLOR]
    MsgBox Msg, vbInformation, ThisWorkbook.Name
                
'   Update de informatie en opslaan
    Counter = Counter + 1
    LastOpen = Format(Date, "dddd dd mmmm yyyy") & vbCr & vbCr & "om " & Format(Time, "hh:mm") & " uur" 'Date & " " & Time
    SaveSetting "XYZ Corp", "Budget", "Count", Counter
    SaveSetting "XYZ Corp", "Budget", "Opened", LastOpen
End Sub
 
Heb je de link dan al gevolgd ?
 
Hallo Cobbe,

met een woord gezegd, perfect!!
Als het weet is het vrij simpel, maar O zo handig.

Dank je wel


Groetjes,

Eefje:d
 
Hallo allemaal,

ik was zo blij, maar nu heb ik toch een probleem!
Ik heb de code iets verder aangepast, zie beneden, maar nu krijg ik de foutmelding zoals in de bijlage te zien.


Code:
Private Sub Workbook_Open()
Dim dagdeel As String
Dim Counter As Long, LastOpen As String, Msg As String
 
 '   Haal alle gegevens op
    Counter = GetSetting("XYZ Corp", "Budget", "Count", 0)
    LastOpen = GetSetting("XYZ Corp", "Budget", "Opened", "")
'    Counter = -1
    Call BeveiligingAan
        ActiveWindow.Caption = ActiveWorkbook.FullName
    Range("b25").Activate
    Range("H2") = UCase(gebruiker)
    If Time < 0.5 Then
        dagdeel = "morgen "
    ElseIf Time >= 0.5 And Time < 0.75 Then
        dagdeel = "middag "
    Else: dagdeel = "navond "
    End If
    Msg = "Goede" & dagdeel & vbCr & vbCr & UCase(gebruiker) & "," & _
    vbCr & vbCr & "dit bestand is tot nu toe " & vbCr & vbCr & Counter + 1 & " keer geopend. " & _
    vbCr & vbCr & "De laatste keer was op " & vbCr & vbCr & LastOpen & " door" & vbCr & vbCr & UCase(BuiltinDocumentProperties(7)) & "."
    MsgBox Msg, vbInformation, ThisWorkbook.Name
                
'   Update de informatie en opslaan
    Counter = Counter + 1
    LastOpen = UCase(Format(Date, "dddd dd mmmm yyyy")) & vbCr & vbCr & "om " & Format(Time, "hh:mm") & " uur"   'Date & " " & Time
    SaveSetting "XYZ Corp", "Budget", "Count", Counter
    SaveSetting "XYZ Corp", "Budget", "Opened", LastOpen
End Sub


Heeft iemand een idee waar dat aan ligt?
En belangrijker nog, hoe los ik dit op? Morgen moet ik met mijn progje gaan werken, dus ik heb nu echt een probleem.

Groetjes.

Eefje:evil:
 

Bijlagen

  • Fout.jpg
    Fout.jpg
    36,7 KB · Weergaven: 53
Haal de laatste aanpassingen weer weg.
 
Hallo Cobbe,

een kleine hint is vaak het halve werk.
Ik had in regedit alle vlakken leeg gemaakt, daar zat schijnbaar het probleem.
Heb nu bij Count 0 en bij datum niets gewijzigd, en nu werkt het weer.

Cobbe dat was wel even schrikken.

Dank je wel.

Groet,

Eefje:love:
 
Dat kan simpeler:

Code:
Sub tst()
    MsgBox Replace("Goede" & Choose(Int(Time / 0.25) + 1, "morgen~", "middag~", "navond~") & UCase(Application.UserName) & ",~dit bestand is tot nu toe ~" & Counter + 1 & " keer geopend. ~De laatste keer was op ~" & ThisWorkbook.BuiltinDocumentProperties(12) & " door~"  & UCase(ThisWorkbook.BuiltinDocumentProperties(7)) & ".", "~", String(2, vbLf)), vbInformation, ThisWorkbook.Name
End Sub
 
Hallo SNB,

Nogmaals sorry, maar ik begrijp niet hoe ik e.e.a., als beneden beschreven, moet/kan toepassen?
Waar moet de rest van mijn code dan komen?

Dat kan simpeler:

Code:
Sub tst()
    MsgBox Replace("Goede" & Choose(Int(Time / 0.25) + 1, "morgen~", "middag~", "navond~") & UCase(Application.UserName) & ",~dit bestand is tot nu toe ~" & Counter + 1 & " keer geopend. ~De laatste keer was op ~" & ThisWorkbook.BuiltinDocumentProperties(12) & " door~"  & UCase(ThisWorkbook.BuiltinDocumentProperties(7)) & ".", "~", String(2, vbLf)), vbInformation, ThisWorkbook.Name
End Sub

Groet,

Eefje
 
Code:
Private Sub Workbook_Open()
Dim dagdeel As String
Dim Counter As Long, LastOpen As String, Msg As String
 
 '   Haal alle gegevens op
    Counter = GetSetting("XYZ Corp", "Budget", "Count", 0)
    LastOpen = GetSetting("XYZ Corp", "Budget", "Opened", "")
'    Counter = -1
    Call BeveiligingAan
    ActiveWindow.Caption = ActiveWorkbook.FullName
    Range("b25").Activate
    Range("H2") = UCase(gebruiker)
    MsgBox Replace("Goede" & Choose(Int(Time / 0.25), "morgen ~", "middag ~", "navond ~") & _
    UCase(Application.UserName) & ",~dit bestand is tot nu toe ~" & Counter + 1 & " keer geopend. ~De laatste keer was op ~" & _
    ThisWorkbook.BuiltinDocumentProperties(12) & " door~" & UCase(ThisWorkbook.BuiltinDocumentProperties(7)) & _
    ".", "~", String(2, vbLf)), vbInformation, ThisWorkbook.Name
                
'   Update de informatie en opslaan
    Counter = Counter + 1
    LastOpen = UCase(Format(Date, "dddd dd mmmm yyyy")) & vbCr & vbCr & "om " & Format(Time, "hh:mm") & " uur"   'Date & " " & Time
    SaveSetting "XYZ Corp", "Budget", "Count", Counter
    SaveSetting "XYZ Corp", "Budget", "Opened", LastOpen
End Sub
 
En van die overige code kan nog wel het een en ander verdwijnen.....

Waarom ze je leren op jouw kennisnivo iets weg te schrijven in het register is me een raadsel.
 
Hallo snb,

waarom men mij heeft geadviseerd om de counter via RegEdit op 0 te zetten weet ik ook niet?
Maar goed, als je niet beter weet ben je met "alle" oplossingen blij, toch?

Snb v.w.b. jouw opmerking:

En van die overige code kan nog wel het een en ander verdwijnen.....

Ben ik benieuwd hoe jij, als Giga Senior, dit zou oplossen? Maar als ik zo vrij mag zijn; wel met een beetje uitleg.
Ook nog een vraagje waar staat dit ~ ding voor? Zoiets als vbCR?

Ik hoor/ lees het wel.

Groetjes,

Eefje:o

p.s. had je link wel bekeken, maar werd er eerlijk gezegd niet wijs uit, sorry.
 
Laatst bewerkt:
Als je nou jouw code volledig vervangt door de mijne uit #12, wat gaat er dan mis ?
 
Hallo snb,

ik vroeg me af waar dit

Code:
Range("b25").Activate
    Range("H2") = UCase(gebruiker)

stuk dan naar voren komt?
Dit stuk zie ik n.l. in jouw code niet terug?

Voor wat betreft:

Hallo snb,

waarom men mij heeft geadviseerd om de counter via RegEdit op 0 te zetten weet ik ook niet?
Maar goed, als je niet beter weet ben je met "alle" oplossingen blij, toch?

Snb v.w.b. jouw opmerking:

En van die overige code kan nog wel het een en ander verdwijnen.....
Ben ik benieuwd hoe jij, als Giga Senior, dit zou oplossen? Maar als ik zo vrij mag zijn; wel met een beetje uitleg.
Ook nog een vraagje waar staat dit ~ ding voor? Zoiets als vbCR?

blijft mijn vraag.

Groet,

Eefke
 
Waar slaat 'gebruiker' op ? Ik zie nergens in je macro waar dit vandaan komt ?
Dat ~ding hoort bij de functie Replace (kijk in de vb help voor verdere informatie) en wordt in het eindresultaat vervangen door String(2,vbLF)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan