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

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

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

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

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

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

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

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

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

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

Код: 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
13.08.2010, 14:57
    #36790934
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список файлов с указанием автора, владельца, размера, датой последнего доступа. (Excel)
> Автор: SashaSimf
> так у кого-нибудь есть мысли по этому поводу?

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

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

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

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

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


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