Krzysztof D.

Krzysztof D. PILNIE SZUKAM PRACY!
Kontroler finansowy,
informatyk, tre...

Temat: Monitorowanie używania plików Excela przez innych...

Proszę o pomoc w kwestii monitorowania otwierania plików Excela przez różne osoby. Czy jest możliwość oprogramowania tego w VBA i rejestrowania gdzieś w ukrytym arkuszu? Chcę wiedzieć kto i jak często korzysta z owoców mojej pracy.
Będę wdzięczny za pomoc.
Serdecznie pozdrawiam, Krzysztof

konto usunięte

Temat: Monitorowanie używania plików Excela przez innych...

Krzysztof Dawidek:
Proszę o pomoc w kwestii monitorowania otwierania plików Excela przez różne osoby. Czy jest możliwość oprogramowania tego w VBA i rejestrowania gdzieś w ukrytym arkuszu? Chcę wiedzieć kto i jak często korzysta z owoców mojej pracy.
Będę wdzięczny za pomoc.
Serdecznie pozdrawiam, Krzysztof

w zasadzie można by było makrem, ale
jak delikwent wyłączy makro - dupa
jak delikwent linkuje dane za pomocą Access-a dupa

lepszym sposobem jest monitorowanie ilości wywołań procedury zwracającej dane na serwerze SQL - mysz się nie prześliźnie

dane powinny być wtedy pobierane podczas uruchamiania arkusza
Krzysztof D.

Krzysztof D. PILNIE SZUKAM PRACY!
Kontroler finansowy,
informatyk, tre...

Temat: Monitorowanie używania plików Excela przez innych...

Dziękuję Ci za info. Możesz podać mi więcej szczegółów?
pozdro

konto usunięte

Temat: Monitorowanie używania plików Excela przez innych...

jeżeli mamy dane w bazie i za pomocą SQL-a składamy wynik, a następnie ładujemy do Excel-a (pivot, Query, pobierz dane zewnętrzne) to korzystamy z procedury pośredniczącej. procedura na serwerze SQL np. MSSQL zawiera jedną linię na samym początku dodającą wiersz z loginem osoby wywołującej, parametrami itp, itd

jest to trudne do wykonania jeżeli nie zna się baz danych, VBA i excel-a w stopniu zaawansowanym, niemniej jednak mamy 100% skuteczności monitorowania tego kto, co i kiedy pobierał

każda inna metoda to proteza, którą omija się łatwiej lub trudniej ale omija w zasadzie bez problemów nawet przez mało zaawansowanego user-a
Wojciech Gardziński

Wojciech Gardziński Mieć rację godzinę
wcześniej niż inni:
przez godzinę być
...

Temat: Monitorowanie używania plików Excela przez innych...

Witam Szanownych.

Nie wtrącam się na razie, bo mam inną robótkę...
Ale:
1. Przemek - A skąd wiadomo, że p.Krzysztof korzysta z SQLSa?
2. Przemek - jeśli korzysta jw - to podaj selecta, który dostanie się do systemowej tabeli SQLSa i pobierze log działań - chyba to najprostsze?
3. p. Krzysztof - niech Pan trochę bliżej określi, co to Pana makro robi, poza tym że się uruchamia. Bo jeśli SQLS - to to, co Przemek podaje, jest najlepsze. Ale jeśli nie, to po prostu chyba log tekstowy uruchamiany przez Workbook_Open najlepiej załatwi sprawę?

Ha, i tak się wtrąciłem ;)
Pozdrawiam :)

konto usunięte

Temat: Monitorowanie używania plików Excela przez innych...

Wojciech Gardziński:
Witam Szanownych.

Nie wtrącam się na razie, bo mam inną robótkę...
Ale:
1. Przemek - A skąd wiadomo, że p.Krzysztof korzysta z SQLSa?

jeżeli nie używa to nie zabezpieczy, najwyżej będzie w przekonaniu że mu się udało, co prawdą nie będzie

każde działanie poza źródłem danych jest ekstremalnie niebezpieczne i stosunkowo łatwe do ominięcia

2. Przemek - jeśli korzysta jw - to podaj selecta, który dostanie się do systemowej tabeli SQLSa i pobierze log działań
- chyba to najprostsze?

to akurat zależy od konstrukcji mechanizmu do zbierania danych

najproście by było select * from [tabela_logu_dostepu]

inna bajka jest tak że usery jak się im odbierze przwo do wykonania selecta w jakiejś bazie a zostawi prawo do execut-a (procedur) nie widzą żadnej tabeli, mogą tylko wykonać execute z parametrami przez co select zawarty w procedurze może być obudowany dodatkami :) w postaci logerów akcji

3. p. Krzysztof - niech Pan trochę bliżej określi, co to Pana makro robi, poza tym że się uruchamia. Bo jeśli SQLS - to to, co Przemek podaje, jest najlepsze. Ale jeśli nie, to po prostu chyba log tekstowy uruchamiany przez Workbook_Open najlepiej załatwi sprawę?

Ha, i tak się wtrąciłem ;)
Pozdrawiam :)
Krzysztof D.

Krzysztof D. PILNIE SZUKAM PRACY!
Kontroler finansowy,
informatyk, tre...

Temat: Monitorowanie używania plików Excela przez innych...

Nie mam jakichś wymyślnych mechanizmów bazodanowych. Chcę wiedzieć kto, kiedy, jak często korzysta (otwiera) moje pliki Excela. Ta informacja mogłaby zapisywać się w momencie otwierania pliku i magazynować w ukrytym arkuszu. Niby prosta rzecz ...
Wojciech Gardziński

Wojciech Gardziński Mieć rację godzinę
wcześniej niż inni:
przez godzinę być
...

Temat: Monitorowanie używania plików Excela przez innych...

Hihihi.
No widzi Pan, my nawiedzeni, mamy fisia.

Ale do rzeczy:
Robienie logu do pliku Excela jest owszem możliwe, ale trzeba by było zaprząc jakieś ADO, itp.
Przez Excela (czyli otwierać jakiś skoroszyt, cos zapisywać do niego, potem go zamykać) to raczej kiepskie rozwiązanie. Najlepsze to zrobić prościutką procedurkę robiącą log - plik tekstowy na dysku sieciowym.

Czyli w każdym ze "śledzonych" plików, w kodzie "ThisWorkbook" dodaje (wkleja) Pan procedurę

Private Sub Workbook_Open()
Dim nrPlikuWyj

On Error Resume Next

nrPlikuWyj = FreeFile
Open "c:\LOGI\LogOtwieraniaPlików.log" For Append Shared As #nrPlikuWyj
Write #nrPlikuWyj, _
"Plik " & ThisWorkbook.Name & _
" został otworzony " & Date & _
" przez " & Application.UserName
Close #nrPlikuWyj
End Sub

i dodaje się takie coś po każdym otwarciu każdego z owych plików:
"Plik ZapisDoLogu.xls został otworzony 2010-05-28 przez Wojciech G"

Oczywiście, prosze go sobie dostosować: ścieżkę, tekst, kolejność tych tekstów, można dać separatory, żeby się potem łatwo otwierało Excelem, itp.
PzdrWojciech Gardziński edytował(a) ten post dnia 28.05.10 o godzinie 15:59
Krzysztof D.

Krzysztof D. PILNIE SZUKAM PRACY!
Kontroler finansowy,
informatyk, tre...

Temat: Monitorowanie używania plików Excela przez innych...

Wojciech Gardziński:
Hihihi.
No widzi Pan, my nawiedzeni, mamy fisia.

Ale do rzeczy:
Robienie logu do pliku Excela jest owszem możliwe, ale trzeba by było zaprząc jakieś ADO, itp.
Przez Excela (czyli otwierać jakiś skoroszyt, cos zapisywać do niego, potem go zamykać) to raczej kiepskie rozwiązanie. Najlepsze to zrobić prościutką procedurkę robiącą log - plik tekstowy na dysku sieciowym.

Czyli w każdym ze "śledzonych" plików, w kodzie "ThisWorkbook" dodaje (wkleja) Pan procedurę

Private Sub Workbook_Open()
Dim nrPlikuWyj

On Error Resume Next

nrPlikuWyj = FreeFile
Open "c:\LOGI\LogOtwieraniaPlików.log" For Append Shared As #nrPlikuWyj
Write #nrPlikuWyj, _
"Plik " & ThisWorkbook.Name & _
" został otworzony " & Date & _
" przez " & Application.UserName
Close #nrPlikuWyj
End Sub

i dodaje się takie coś po każdym otwarciu każdego z owych plików:
"Plik ZapisDoLogu.xls został otworzony 2010-05-28 przez Wojciech G"

Oczywiście, prosze go sobie dostosować: ścieżkę, tekst, kolejność tych tekstów, można dać separatory, żeby się potem łatwo otwierało Excelem, itp.
PzdrWojciech Gardziński edytował(a) ten post dnia 28.05.10 o godzinie 15:59

Przećwiczę i dam znać. Świetny pomysł z tym zewnętrznym plikiem. serdecznie dziękuję i pozdrawiam.
Tomasz B.

Tomasz B. CISO at Grupa Europa

Temat: Monitorowanie używania plików Excela przez innych...

Jeżeli chodzi o powyższy kod. Proszę o pomoc w stworzeniu takiego logu w którym będzie widocznie nie dosyć że kiedy i kto otiwerał plik, ale również jakie dane wprowadzał w komórkach, czy coś kasował, czy coś zmieniał.

Dziękuję za pomoc
Pozdrawiam
T

Temat: Monitorowanie używania plików Excela przez innych...

mam pytanie co do wcześniej omawianego kodu :

Private Sub Workbook_Open()
Dim nrPlikuWyj

On Error Resume Next

nrPlikuWyj = FreeFile
Open "c:\LOGI\LogOtwieraniaPlików.log" For Append Shared As #nrPlikuWyj
Write #nrPlikuWyj, _
"Plik " & ThisWorkbook.Name & _
" został otworzony " & Date & _
" przez " & Application.UserName
Close #nrPlikuWyj
End Sub

tworzy mi on plik tylko wtedy kiedy wcisnę Alt+F11 i ręcznie uruchomię Run Sub, jak mogę "uczynić" aby kod uruchamiał się z automatu
:)Ten post został edytowany przez Autora dnia 03.03.14 o godzinie 14:20

Następna dyskusja:

Konsolidacja danych przez I...




Wyślij zaproszenie do