Поиск пользователя
terminator
Дата: Воскресенье, 28.02.2016, 20:18 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Привет всем. Нужна консультация. Имеется очень полезный макрос,его будут использовать разные люди. Макрос делает вот что -добавляет компьютеры на установку в SCCM,отсюда сразу задача. Нужен отчет в котором бы указывалось какой именно пользователь запускал файл. VBA такое умеет?
Привет всем. Нужна консультация. Имеется очень полезный макрос,его будут использовать разные люди. Макрос делает вот что -добавляет компьютеры на установку в SCCM,отсюда сразу задача. Нужен отчет в котором бы указывалось какой именно пользователь запускал файл. VBA такое умеет? terminator
Ответить
Сообщение Привет всем. Нужна консультация. Имеется очень полезный макрос,его будут использовать разные люди. Макрос делает вот что -добавляет компьютеры на установку в SCCM,отсюда сразу задача. Нужен отчет в котором бы указывалось какой именно пользователь запускал файл. VBA такое умеет? Автор - terminator Дата добавления - 28.02.2016 в 20:18
StoTisteg
Дата: Воскресенье, 28.02.2016, 20:28 |
Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация:
103
±
Замечаний:
0% ±
Excel 2010
[vba][/vba] при открытии книги?
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Ответить
Сообщение [vba][/vba] при открытии книги? Автор - StoTisteg Дата добавления - 28.02.2016 в 20:28
terminator
Дата: Воскресенье, 28.02.2016, 20:34 |
Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Можно при открытии книги и отчет в лог в файл.
Можно при открытии книги и отчет в лог в файл.terminator
Ответить
Сообщение Можно при открытии книги и отчет в лог в файл.Автор - terminator Дата добавления - 28.02.2016 в 20:34
StoTisteg
Дата: Воскресенье, 28.02.2016, 20:37 |
Сообщение № 4
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация:
103
±
Замечаний:
0% ±
Excel 2010
Что-то вроде такого: [vba]Код
Private Sub Workbook_Open() Const Addr = "<Путь_к_книге_с_протоколом>" On Error Resume Next Workbooks.Open Filename:=Addr If Err.Number <> 0 Then Workbooks.ADD ActiveWorkbook.SaveAs Filename:=Addr, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False End If Worksheets(1).Activate If Cells(1, 1).Value = "" Then Cells(1, 1).Value = "Пользователь" Cells(1, 2).Value = "Дата" Cells(1, 3).Value = "Время" End If Cells(ActiveSheet.UsedRange.Rows.Count + 1, 1).Value = Application.UserName Cells(ActiveSheet.UsedRange.Rows.Count, 2).Value = Date Cells(ActiveSheet.UsedRange.Rows.Count, 3).Value = Time ActiveWorkbook.Save ActiveWorkbook.Close End Sub
[/vba] в модуль книги макроса.
Что-то вроде такого: [vba]Код
Private Sub Workbook_Open() Const Addr = "<Путь_к_книге_с_протоколом>" On Error Resume Next Workbooks.Open Filename:=Addr If Err.Number <> 0 Then Workbooks.ADD ActiveWorkbook.SaveAs Filename:=Addr, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False End If Worksheets(1).Activate If Cells(1, 1).Value = "" Then Cells(1, 1).Value = "Пользователь" Cells(1, 2).Value = "Дата" Cells(1, 3).Value = "Время" End If Cells(ActiveSheet.UsedRange.Rows.Count + 1, 1).Value = Application.UserName Cells(ActiveSheet.UsedRange.Rows.Count, 2).Value = Date Cells(ActiveSheet.UsedRange.Rows.Count, 3).Value = Time ActiveWorkbook.Save ActiveWorkbook.Close End Sub
[/vba] в модуль книги макроса. StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Сообщение отредактировал StoTisteg - Воскресенье, 28.02.2016, 21:14
Ответить
Сообщение Что-то вроде такого: [vba]Код
Private Sub Workbook_Open() Const Addr = "<Путь_к_книге_с_протоколом>" On Error Resume Next Workbooks.Open Filename:=Addr If Err.Number <> 0 Then Workbooks.ADD ActiveWorkbook.SaveAs Filename:=Addr, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False End If Worksheets(1).Activate If Cells(1, 1).Value = "" Then Cells(1, 1).Value = "Пользователь" Cells(1, 2).Value = "Дата" Cells(1, 3).Value = "Время" End If Cells(ActiveSheet.UsedRange.Rows.Count + 1, 1).Value = Application.UserName Cells(ActiveSheet.UsedRange.Rows.Count, 2).Value = Date Cells(ActiveSheet.UsedRange.Rows.Count, 3).Value = Time ActiveWorkbook.Save ActiveWorkbook.Close End Sub
[/vba] в модуль книги макроса. Автор - StoTisteg Дата добавления - 28.02.2016 в 20:37
StoTisteg
Дата: Воскресенье, 28.02.2016, 20:38 |
Сообщение № 5
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация:
103
±
Замечаний:
0% ±
Excel 2010
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Ответить
Сообщение txt-лог имеется в виду?Автор - StoTisteg Дата добавления - 28.02.2016 в 20:38
terminator
Дата: Воскресенье, 28.02.2016, 20:38 |
Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Спасибо,добрый человек. Я обязательно попробую и напишу.
Спасибо,добрый человек. Я обязательно попробую и напишу. terminator
Ответить
Сообщение Спасибо,добрый человек. Я обязательно попробую и напишу. Автор - terminator Дата добавления - 28.02.2016 в 20:38
terminator
Дата: Воскресенье, 28.02.2016, 20:44 |
Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Ответить
Сообщение Да можно и такойАвтор - terminator Дата добавления - 28.02.2016 в 20:44
StoTisteg
Дата: Воскресенье, 28.02.2016, 20:48 |
Сообщение № 8
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация:
103
±
Замечаний:
0% ±
Excel 2010
C одной стороны больше возни, с другой — открывается на запись без окна.Я обязательно попробую и напишу.
Заголовки типа Пользователь, Дата, Время в первой строке лога не забудьте заранее создать
C одной стороны больше возни, с другой — открывается на запись без окна.Я обязательно попробую и напишу.
Заголовки типа Пользователь, Дата, Время в первой строке лога не забудьте заранее создать StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Ответить
Сообщение C одной стороны больше возни, с другой — открывается на запись без окна.Я обязательно попробую и напишу.
Заголовки типа Пользователь, Дата, Время в первой строке лога не забудьте заранее создать Автор - StoTisteg Дата добавления - 28.02.2016 в 20:48
terminator
Дата: Воскресенье, 28.02.2016, 20:52 |
Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Заголовки типа Пользователь, Дата, Время в первой строке лога не забудьте заранее создать
То есть я создаю txt файл прописываю внутри заголовки и располагаю в отдельном каталоге или рядом с макросом? А имя лог файла просто log.txt?
Заголовки типа Пользователь, Дата, Время в первой строке лога не забудьте заранее создать
То есть я создаю txt файл прописываю внутри заголовки и располагаю в отдельном каталоге или рядом с макросом? А имя лог файла просто log.txt?terminator
Ответить
Сообщение Заголовки типа Пользователь, Дата, Время в первой строке лога не забудьте заранее создать
То есть я создаю txt файл прописываю внутри заголовки и располагаю в отдельном каталоге или рядом с макросом? А имя лог файла просто log.txt?Автор - terminator Дата добавления - 28.02.2016 в 20:52
StoTisteg
Дата: Воскресенье, 28.02.2016, 21:03 |
Сообщение № 10
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация:
103
±
Замечаний:
0% ±
Excel 2010
Сейчас мы говорим об экселевском протоколе. Я сейчас подправлю код, чтобы он всё делал сам, но прописать в него путь к протоколу Вам придётся без меня
Сейчас мы говорим об экселевском протоколе. Я сейчас подправлю код, чтобы он всё делал сам, но прописать в него путь к протоколу Вам придётся без меня StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Ответить
Сообщение Сейчас мы говорим об экселевском протоколе. Я сейчас подправлю код, чтобы он всё делал сам, но прописать в него путь к протоколу Вам придётся без меня Автор - StoTisteg Дата добавления - 28.02.2016 в 21:03
terminator
Дата: Воскресенье, 28.02.2016, 21:09 |
Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Так ну вроде разобрался. Меня такой лог устроит. Спасибо,+1 к карме обеспечено ))
Так ну вроде разобрался. Меня такой лог устроит. Спасибо,+1 к карме обеспечено )) terminator
Ответить
Сообщение Так ну вроде разобрался. Меня такой лог устроит. Спасибо,+1 к карме обеспечено )) Автор - terminator Дата добавления - 28.02.2016 в 21:09
terminator
Дата: Воскресенье, 28.02.2016, 21:09 |
Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Сейчас мы говорим об экселевском протоколе. Я сейчас подправлю код, чтобы он всё делал сам, но прописать в него путь к протоколу Вам придётся без меня
Да и так очень интересно вышло. ))
Сейчас мы говорим об экселевском протоколе. Я сейчас подправлю код, чтобы он всё делал сам, но прописать в него путь к протоколу Вам придётся без меня
Да и так очень интересно вышло. ))terminator
Ответить
Сообщение Сейчас мы говорим об экселевском протоколе. Я сейчас подправлю код, чтобы он всё делал сам, но прописать в него путь к протоколу Вам придётся без меня
Да и так очень интересно вышло. ))Автор - terminator Дата добавления - 28.02.2016 в 21:09
terminator
Дата: Воскресенье, 28.02.2016, 21:31 |
Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Такс,работает. А существует метод по результату лог писать. Например макрос отработал успешно-лог успешно/ошибка ?
Такс,работает. А существует метод по результату лог писать. Например макрос отработал успешно-лог успешно/ошибка ? terminator
Ответить
Сообщение Такс,работает. А существует метод по результату лог писать. Например макрос отработал успешно-лог успешно/ошибка ? Автор - terminator Дата добавления - 28.02.2016 в 21:31
StoTisteg
Дата: Воскресенье, 28.02.2016, 21:47 |
Сообщение № 14
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация:
103
±
Замечаний:
0% ±
Excel 2010
А что он делает при завершении? Закрывает свою книгу? Тогда логично в протокол добавить графу "Успешно", а в тот же модуль книги макроса [vba]Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) Const Addr = "<Путь_к_книге_с_протоколом>" Dim Ern As Long Ern = Err.Number Workbooks.Open Filename:=Addr Worksheets(1).Activate Cells(ActiveSheet.UsedRange.Rows.Count, 4).Value = IIf(Ern = 0, "Успешно", "Ошибка " & Ern) ActiveWorkbook.Save ActiveWorkbook.Close End Sub
[/vba]
А что он делает при завершении? Закрывает свою книгу? Тогда логично в протокол добавить графу "Успешно", а в тот же модуль книги макроса [vba]Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) Const Addr = "<Путь_к_книге_с_протоколом>" Dim Ern As Long Ern = Err.Number Workbooks.Open Filename:=Addr Worksheets(1).Activate Cells(ActiveSheet.UsedRange.Rows.Count, 4).Value = IIf(Ern = 0, "Успешно", "Ошибка " & Ern) ActiveWorkbook.Save ActiveWorkbook.Close End Sub
[/vba] StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Ответить
Сообщение А что он делает при завершении? Закрывает свою книгу? Тогда логично в протокол добавить графу "Успешно", а в тот же модуль книги макроса [vba]Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) Const Addr = "<Путь_к_книге_с_протоколом>" Dim Ern As Long Ern = Err.Number Workbooks.Open Filename:=Addr Worksheets(1).Activate Cells(ActiveSheet.UsedRange.Rows.Count, 4).Value = IIf(Ern = 0, "Успешно", "Ошибка " & Ern) ActiveWorkbook.Save ActiveWorkbook.Close End Sub
[/vba] Автор - StoTisteg Дата добавления - 28.02.2016 в 21:47
KuklP
Дата: Воскресенье, 28.02.2016, 21:54 |
Сообщение № 15
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
То же, только короче: [vba]Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) with Workbooks.Open("<Путь_к_книге_с_протоколом>"). Worksheets(1) .Cells(.UsedRange.Rows.Count, 4).Value = IIf(Err.Number = 0, "Успешно", "Ошибка " & Err.Number) .parent.Close -1 end with End Sub
[/vba]
То же, только короче: [vba]Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) with Workbooks.Open("<Путь_к_книге_с_протоколом>"). Worksheets(1) .Cells(.UsedRange.Rows.Count, 4).Value = IIf(Err.Number = 0, "Успешно", "Ошибка " & Err.Number) .parent.Close -1 end with End Sub
[/vba] KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение То же, только короче: [vba]Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) with Workbooks.Open("<Путь_к_книге_с_протоколом>"). Worksheets(1) .Cells(.UsedRange.Rows.Count, 4).Value = IIf(Err.Number = 0, "Успешно", "Ошибка " & Err.Number) .parent.Close -1 end with End Sub
[/vba] Автор - KuklP Дата добавления - 28.02.2016 в 21:54
StoTisteg
Дата: Воскресенье, 28.02.2016, 22:24 |
Сообщение № 16
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация:
103
±
Замечаний:
0% ±
Excel 2010
Хм. А не будет ли в строке [vba]Код
.Cells(.UsedRange.Rows.Count, 4).Value = IIf(Err.Number = 0, "Успешно", "Ошибка " & Err.Number)
[/vba] Err.Number относиться к [vba][/vba] и соответственно всегда быть равным 0?
Хм. А не будет ли в строке [vba]Код
.Cells(.UsedRange.Rows.Count, 4).Value = IIf(Err.Number = 0, "Успешно", "Ошибка " & Err.Number)
[/vba] Err.Number относиться к [vba][/vba] и соответственно всегда быть равным 0? StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Ответить
Сообщение Хм. А не будет ли в строке [vba]Код
.Cells(.UsedRange.Rows.Count, 4).Value = IIf(Err.Number = 0, "Успешно", "Ошибка " & Err.Number)
[/vba] Err.Number относиться к [vba][/vba] и соответственно всегда быть равным 0? Автор - StoTisteg Дата добавления - 28.02.2016 в 22:24
KuklP
Дата: Воскресенье, 28.02.2016, 22:33 |
Сообщение № 17
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Если до этого была ошибка и она не очищена err.clear ? Не знаю, не знаю Но вообще-то принято делать так: [vba]Код
Private Sub Workbook_Open() Const Addr = "<Путь_к_книге_с_протоколом>" On Error GoTo Workbook_Open_Error 'тут код программы On Error GoTo 0 Exit Sub Workbook_Open_Error: MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Workbook_Open of VBA Document ЭтаКнига" ' и вот тут можно пихать описание ошибки куда угодно End Sub
[/vba] И еще - любая предыдущая ошибка по идее должна стираться директивой end sub, так что вариант проверять при закрытии книги - не вариант
Если до этого была ошибка и она не очищена err.clear ? Не знаю, не знаю Но вообще-то принято делать так: [vba]Код
Private Sub Workbook_Open() Const Addr = "<Путь_к_книге_с_протоколом>" On Error GoTo Workbook_Open_Error 'тут код программы On Error GoTo 0 Exit Sub Workbook_Open_Error: MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Workbook_Open of VBA Document ЭтаКнига" ' и вот тут можно пихать описание ошибки куда угодно End Sub
[/vba] И еще - любая предыдущая ошибка по идее должна стираться директивой end sub, так что вариант проверять при закрытии книги - не вариант KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Сообщение отредактировал KuklP - Воскресенье, 28.02.2016, 22:44
Ответить
Сообщение Если до этого была ошибка и она не очищена err.clear ? Не знаю, не знаю Но вообще-то принято делать так: [vba]Код
Private Sub Workbook_Open() Const Addr = "<Путь_к_книге_с_протоколом>" On Error GoTo Workbook_Open_Error 'тут код программы On Error GoTo 0 Exit Sub Workbook_Open_Error: MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Workbook_Open of VBA Document ЭтаКнига" ' и вот тут можно пихать описание ошибки куда угодно End Sub
[/vba] И еще - любая предыдущая ошибка по идее должна стираться директивой end sub, так что вариант проверять при закрытии книги - не вариант Автор - KuklP Дата добавления - 28.02.2016 в 22:33
StoTisteg
Дата: Воскресенье, 28.02.2016, 23:27 |
Сообщение № 18
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация:
103
±
Замечаний:
0% ±
Excel 2010
любая предыдущая ошибка по идее должна стираться директивой end sub
Слона-то мы и не заметили...
любая предыдущая ошибка по идее должна стираться директивой end sub
Слона-то мы и не заметили...StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Ответить
Сообщение любая предыдущая ошибка по идее должна стираться директивой end sub
Слона-то мы и не заметили...Автор - StoTisteg Дата добавления - 28.02.2016 в 23:27
terminator
Дата: Понедельник, 29.02.2016, 20:24 |
Сообщение № 19
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
А вот еще вариант такой. Забыл сказать что у меня макрос лог плюет но плюет его в тхт. Там лог пишет что комп добавлен в туда то и ок. Можно вот эти варианты как то примостить в существующий лог? У меня файла под рукой нет..ну так примерно хотя бы..
А вот еще вариант такой. Забыл сказать что у меня макрос лог плюет но плюет его в тхт. Там лог пишет что комп добавлен в туда то и ок. Можно вот эти варианты как то примостить в существующий лог? У меня файла под рукой нет..ну так примерно хотя бы.. terminator
Ответить
Сообщение А вот еще вариант такой. Забыл сказать что у меня макрос лог плюет но плюет его в тхт. Там лог пишет что комп добавлен в туда то и ок. Можно вот эти варианты как то примостить в существующий лог? У меня файла под рукой нет..ну так примерно хотя бы.. Автор - terminator Дата добавления - 29.02.2016 в 20:24
RAN
Дата: Понедельник, 29.02.2016, 21:09 |
Сообщение № 20
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Слона-то мы и не заметили...
И правильно. Ибо это не так.
Слона-то мы и не заметили...
И правильно. Ибо это не так.RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Слона-то мы и не заметили...
И правильно. Ибо это не так.Автор - RAN Дата добавления - 29.02.2016 в 21:09