powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
18 сообщений из 18, страница 1 из 1
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36790233
SashaSimf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как в Excel-е получить список файлов в определенной папке с указанием автора, владельца , размера,типа файла,дата последнего доступа. Очень надо.
...
Рейтинг: 0 / 0
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36790306
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: SashaSimf
> владельца, дата последнего доступа.

На получение ownera может не быть прав, а для получения даты/времени последнего доступа, нужно включать аудит доступа к
объектам и потом разбирать системный Event Log/ Все это возможно сделать из VBA Excel, но ты это не потянешь, оно тебе
действительно нужно???

По остальному или функция Dir, FileLen или FileSystemObject тебе в помощь

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36790331
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь, может он имеет ввиду не список файлов, а список экселевских файлов? Тогда ситуация меняется.
...
Рейтинг: 0 / 0
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36790350
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Shocker.Pro
> Тогда ситуация меняется.

Меняется ровно наполовину, владельца можно будет получить, а дата последнего доступа остается все равно на откупе у
операционки. Причем файл может быть readonly или у пользователя доступ только на чтение тогда нет никакой информации о
том кто, когда и сколько смотрел в этот файл, кроме как поставить аудит и поизучать евентлог

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36790566
SashaSimf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Цель: получить список любых файлов (рисунки, видео, эксель и т.д.) на сетевом диске, чтобы узнать кому они принадлежат и сколько место занимают).

если открыть в виндоус любую папку и поставить детальный вид ( с указанием владельца, автора, даты изменений ), то можно получить такую информацию, а как ее перенести в Эксель?
...
Рейтинг: 0 / 0
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36790575
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaSimfесли открыть в виндоус любую папку и поставить детальный вид ( с указанием владельца, автора, даты изменений ), то можно получить такую информацию, а как ее перенести в Эксель?
отмечу - только на NTFS
...
Рейтинг: 0 / 0
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36790580
SashaSimf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот пример с датама

Sub FECHAS()

Dim fs, f, f1, fc, s

For j = 3 To 10000
If Cells(j, 5) = "" Then
valor = j
Exit For
End If
Next

For i = 3 To valor - 1
filespec = Cells(i, 5)

Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFILE(filespec)
s = UCase(filespec)
s = f.DateCreated
L = f.DateLastAccessed
m = f.DateLastModified
Cells(i, 7) = s
Cells(i, 8) = L
Cells(i, 9) = m
Next
End Sub

А как получить владельца и автора файлов?
...
Рейтинг: 0 / 0
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36790587
SashaSimf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, именно на NTFS
...
Рейтинг: 0 / 0
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36790799
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: SashaSimf

А скажи, мил человек, почему тебе дали решать админские задачи?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36790863
SashaSimf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
потому что, я и есть админ
...
Рейтинг: 0 / 0
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36790881
SashaSimf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так у кого-нибудь есть мысли по этому поводу?
...
Рейтинг: 0 / 0
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36790887
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaSimfтак у кого-нибудь есть мысли по этому поводу?
Ковырять файловые API-функции, других мыслей нет....
...
Рейтинг: 0 / 0
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36790903
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функция для получения владельца файла/папки

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
Option Explicit

Private Declare Function GetFileSecurity Lib "advapi32.dll" Alias "GetFileSecurityA" (ByVal lpFileName As String, ByVal RequestedInformation As Long, pSecurityDescriptor As Byte, ByVal nLength As Long, lpnLengthNeeded As Long) As Long
Private Declare Function LookupAccountSid Lib "advapi32.dll" Alias "LookupAccountSidA" (ByVal lpSystemName As String, ByVal Sid As Long, ByVal name As String, cbName As Long, ByVal ReferencedDomainName As String, cbReferencedDomainName As Long, peUse As Long) As Long
Private Declare Function GetSecurityDescriptorOwner Lib "advapi32.dll" (pSecurityDescriptor As Any, pOwner As Long, lpbOwnerDefaulted As Long) As Long
Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long

Private Const OWNER_SECURITY_INFORMATION = &H1
Private Const ERROR_INSUFFICIENT_BUFFER =  122 &

Private Function GetFileOwner(ByVal sFileName As String) As String
    Dim sizeSD As Long, sdBuf() As Byte, pOwner As Long, deUse As Long, bSuccess As Long
    Dim sFileOwner As String, cbFileOwner As Long
    Dim sDomainName As String, cbDomainName As Long
    Dim sServer As String
    
    'Local server
    sServer = vbNullString
    
    'step 1: call GetFileSecurity to get the size of the buffer required
    bSuccess = GetFileSecurity(sFileName, OWNER_SECURITY_INFORMATION,  0 ,  0 &, sizeSD)

    If (bSuccess =  0 ) And (Err.LastDllError = ERROR_INSUFFICIENT_BUFFER) Then
        
        'step 2: create buffer of required size and call again
        ReDim sdBuf( 0  To sizeSD -  1 ) As Byte
        bSuccess = GetFileSecurity(sFileName, OWNER_SECURITY_INFORMATION, sdBuf( 0 ), sizeSD, sizeSD)
                                 
        If (bSuccess <>  0 ) Then
    
         'step 3: obtain owner's SID from the security descriptor
         If GetSecurityDescriptorOwner(sdBuf( 0 ), pOwner,  0 &) =  1  Then
                   
            'step 4: call LookupAccountSid twice to get the name of the account and the first domain on which this SID is found;
            'the first call gets the correct buffer size, the second gets the data
            bSuccess = LookupAccountSid(sServer, pOwner, sFileOwner, cbFileOwner, sDomainName, cbDomainName, deUse)
                            
            If (bSuccess =  0 ) And (Err.LastDllError = ERROR_INSUFFICIENT_BUFFER) Then
                'fill buffers and call again
                sFileOwner = Space(cbFileOwner)
                sDomainName = Space(cbDomainName)

                If LookupAccountSid(sServer, pOwner, sFileOwner, cbFileOwner, sDomainName, cbDomainName, deUse) =  1  Then
                     GetFileOwner = Left(sFileOwner, cbFileOwner)
                End If
            End If
         End If
      End If
   End If
End Function
...
Рейтинг: 0 / 0
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36790934
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: SashaSimf
> так у кого-нибудь есть мысли по этому поводу?

Поискать что-то готовое

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36790938
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или вот

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36790948
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и напоследок

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36790982
SashaSimf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо,

очень близка программа NTFS Owner, но из нее нельзя экспортировать, а с VBA не разобрался
...
Рейтинг: 0 / 0
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
    #36791017
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что там разбираться, просто функцию в цикле вызывай, передавай пути к файлам, она вернёт имя пользователя и пиши в эксель
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]