Здравей,
Не се сещам за вариант, който да засича колко пъти даден файл e отварян или изтеглян на различни компютри. Може да се ограничат броя на отваряния на един компютър, но доколкото разбирам, не е това целта ти. Мога да предложа следния вариант, при който екселският файл може да се отваря от теб като администратор и от още един човек по твое желание. Може да update-ваш информацията във файла, според това дали искаш да променяш човека, който има достъп до файла. За целта отваряш vba едитора в ексел (alt + F11). После от лявата страна избираш Microsoft Excel Objects -> This Workbook и пействаш следния код:
Private Sub Workbook_Open()
Dim MacroOwner As String
Dim User As String
MacroOwner = Environ("username")
'Please add the username of the person who you want to use the file below
User = "......;" 'do not remove the ";" at the end
If CBool(InStr(1, User, Environ("username") & ";")) Then
Else
'Please add your own username here
If MacroOwner = "" Then
Else
MsgBox "You are trying to access restricted panel.", vbCritical, "Access Denied"
Application.Quit
End If
End If
End Sub
Накратко:
Макрото се задейства автоматично, при отваряне на екселския файл. За да работи трябва да запазиш файла не като обикновен екселски файл, а macro-enabled (File -save as), с разширение xlsm. "Macroowner" променливата взима името (username) на твоя компютър. "User" взима името на компютъра на колегата ти, на когото ще дадеш достъп до файла.
Трябва да направиш следната промяна в кода: да сложиш имената на компютрите (usernames) в кода, вътре в кавичките под зеления текст. Можеш да ги видиш от C:\Users папката. Сложи имената в скобите под зеления текст. Това е всичко. Успех! Кажи ако нещо не е ясно.