Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Лог изменений файла Excel - 2 / 21 сообщений из 21, страница 1 из 1
23.07.2009, 10:30:38
    #36104800
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
Добрый день!
Хочу знать кто и когда открывал определённый файл excel, тем самым понять, нужны ли кому мои отчёты :)
На ум приходит заносить в txt файл имя пользователя и даты открытия.
Может, кто делал, подскажите/покажите, пожалуйста!

Если будут другие идеи по поводу организации слежения, с радостью приму :)
Спасибо!
...
Рейтинг: 0 / 0
23.07.2009, 10:54:14
    #36104865
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
PlanB,

Sub test()
On Error Resume Next

Dim rw
Dim p

rw = 1
Worksheets(1).Activate
For Each p In ActiveWorkbook.BuiltinDocumentProperties
Cells(rw, 1).Value = p.Name
Cells(rw, 2).Value = p.Value
rw = rw + 1
Next
End Sub
...
Рейтинг: 0 / 0
23.07.2009, 10:55:20
    #36104870
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
PlanB,
Можно вести лог в этом же файле.
...
Рейтинг: 0 / 0
23.07.2009, 11:01:41
    #36104894
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
Сергей06,

подправь при открытии - _дата
...
Рейтинг: 0 / 0
23.07.2009, 11:05:09
    #36104903
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
Stepler,

ага.
Но смысел прежний
...
Рейтинг: 0 / 0
23.07.2009, 11:19:06
    #36104945
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
при частом пользовании размер файла будет рости чрезмерно, этого бы не хотелось.
txt - вариант покруче
...
Рейтинг: 0 / 0
23.07.2009, 11:21:28
    #36104954
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
ещё один минус при хранении в excel:
если не сохранять изменения ( а их 90% пользователей не сохраняет, ничего не отобразится).

+ не знаю, как будет себя вести при совместном открытии...ща попробуем вдвоём..
...
Рейтинг: 0 / 0
23.07.2009, 11:26:49
    #36104985
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
planB+ не знаю, как будет себя вести при совместном открытии...ща попробуем вдвоём..Теперь знаю, хотя мог и догадаться: кто первый - того и данные. второму не везёт :)
...
Рейтинг: 0 / 0
23.07.2009, 11:34:25
    #36105009
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
PlanB,

Попробуй вот это
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Sub test()
    Dim strPathRoot As String
    Dim strFile As String
    Dim strLine As String
    Dim lngFileNum As Long
    Dim i As Long, j As Long
    Dim t
    
    strLine = Application.UserName & " -- " & Now
  
    
    strPathRoot = "c:\temp\"
    lngFileNum = FreeFile
    Close #lngFileNum
        strFile = strPathRoot & "log.txt"
        Open strFile For Output As #lngFileNum
        Print #lngFileNum, strLine
        Close #lngFileNum
End Sub
Взято отсюда:
http://www.sql.ru/forum/actualthread.aspx?tid=139990#7437335
Только я не научился добавлять в файл log.txt новую строку...
Но думаю сам разберешься или KL поможет ;-)
...
Рейтинг: 0 / 0
23.07.2009, 11:36:50
    #36105016
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
PlanBпри частом пользовании размер файла будет рости чрезмерно, этого бы не хотелось.
txt - вариант покруче
Еще покруче- писать в реестр.
...
Рейтинг: 0 / 0
23.07.2009, 11:48:20
    #36105051
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
PlanBпри частом пользовании размер файла будет рости чрезмерно, этого бы не хотелось.
txt - вариант покручеДа, но можно ограничить 1000 строк :-)
Зачем тебе больше? уж полный файл ты точно не проанализируешь.
...
Рейтинг: 0 / 0
23.07.2009, 11:52:28
    #36105065
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
Сергей06
Код: plaintext
Open strFile For Output As #lngFileNum
Надо, вроде, так, чтобы добавлять инфу:
Код: plaintext
Open strFile For Append As #lngFileNum
Мне нужно проверять существование файла перед тем, как выбрать Output или Append?
Или Randome решит эту проблему и запись будет производиться в этом режиме с последней строки, а данные не будут удаляться?
...
Рейтинг: 0 / 0
23.07.2009, 11:53:12
    #36105069
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
FPlanBпри частом пользовании размер файла будет рости чрезмерно, этого бы не хотелось.
txt - вариант покруче
Еще покруче- писать в реестр. реестр - незнакомое слово :) в реестр чего?
...
Рейтинг: 0 / 0
23.07.2009, 11:54:07
    #36105074
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
Сергей06PlanBпри частом пользовании размер файла будет рости чрезмерно, этого бы не хотелось.
txt - вариант покручеДа, но можно ограничить 1000 строк :-)
Зачем тебе больше? уж полный файл ты точно не проанализируешь.Да, можно. Второе "Но" - более существенно!
...
Рейтинг: 0 / 0
23.07.2009, 11:58:45
    #36105088
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
PlanBреестр - незнакомое слово :) в реестр чего?
Вот этого

Пуск - Выполнить - RegEdit
...
Рейтинг: 0 / 0
23.07.2009, 12:49:02
    #36105251
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
FPlanBреестр - незнакомое слово :) в реестр чего?
Вот этого

+
Пуск - Выполнить - RegEdit
Нет, это уж слишком... пусть будет в txt
...
Рейтинг: 0 / 0
23.07.2009, 12:56:32
    #36105288
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
PlanBСергей06
Код: plaintext
Open strFile For Output As #lngFileNum
Надо, вроде, так, чтобы добавлять инфу:
Код: plaintext
Open strFile For Append As #lngFileNum
Мне нужно проверять существование файла перед тем, как выбрать Output или Append?
Или Randome решит эту проблему и запись будет производиться в этом режиме с последней строки, а данные не будут удаляться?ну ведь работает же с Append?
Нравицца?
...
Рейтинг: 0 / 0
23.07.2009, 13:29:12
    #36105409
tund
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
ntfs + аудит
...
Рейтинг: 0 / 0
23.07.2009, 15:58:51
    #36105867
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
Вот так в итоге
-создаёт файл при отсутствии;
-в него добавляет строки с именем пользователя и датой.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub UserLog()
Dim fPath As String
Dim fName As String
Dim nLogtxt As String

nLogtxt = ThisWorkbook.Path & "\" & Replace(ThisWorkbook.Name, ".xls", ".txt")

    Open nLogtxt For Append As # 1 
        Print # 1 , Application.UserName & " -- " & Now
    Close # 1 
End Sub
А можно получить сетевое имя компьютера или иной идентификатор кроме UserName?
...
Рейтинг: 0 / 0
23.07.2009, 16:06:50
    #36105893
qwrqwr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
PlanBА можно получить сетевое имя компьютера или иной идентификатор кроме UserName? бдынц
...
Рейтинг: 0 / 0
23.07.2009, 16:13:55
    #36105919
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Лог изменений файла Excel - 2
Как-то так сделал... круто-не круто - не знаю
Код: 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.
Private Declare Function GetComputerNameA Lib "kernel32" (ByVal lpBuffer As String, nSize As Long) As Long
Private Declare Function WNetGetUserA Lib "mpr.dll" (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long

Function GetComputerName() As String
Dim sBuffer As String *  255 
If GetComputerNameA(sBuffer,  255 &) <>  0  Then
GetComputerName = Left$(sBuffer, InStr(sBuffer, vbNullChar) -  1 )
End If
End Function

Function GetUserName() As String
Dim sUserNameBuff As String *  255 
sUserNameBuff = Space( 255 )
Call WNetGetUserA(vbNullString, sUserNameBuff,  255 &)
GetUserName = Left$(sUserNameBuff, InStr(sUserNameBuff, vbNullChar) -  1 )
End Function

Sub UserLog()
Dim fPath As String
Dim fName As String
Dim nLogtxt As String

nLogtxt = ThisWorkbook.Path & "\" & Replace(ThisWorkbook.Name, ".xls", ".txt")

    Open nLogtxt For Append As # 1 
        Print # 1 , Application.UserName & " -- " & Now & " -- " & GetComputerName & " -- " & GetUserName
    Close # 1 
End Sub
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Лог изменений файла Excel - 2 / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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