Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Защитит файл с MAC-адресом - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Защитит файл с MAC-адресом (Макросы/Sub)
Защитит файл с MAC-адресом
Enix Дата: Среда, 13.12.2017, 23:08 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
Вот макрос достающие - MAC-adress от компьютера
[vba]
Код
Private Sub SpecificationsNet()
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colBIOS = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter")
For Each objBIOS In colBIOS
Debug.Print "MAC-adress: " & objBIOS.MACAddress
If Not IsNull(objBIOS.MACAddress) Then Range("A1") = objBIOS.MACAddress
Next
End Sub
[/vba]


Сообщение отредактировал Enix - Четверг, 14.12.2017, 23:04
 
Ответить
СообщениеВот макрос достающие - MAC-adress от компьютера
[vba]
Код
Private Sub SpecificationsNet()
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colBIOS = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter")
For Each objBIOS In colBIOS
Debug.Print "MAC-adress: " & objBIOS.MACAddress
If Not IsNull(objBIOS.MACAddress) Then Range("A1") = objBIOS.MACAddress
Next
End Sub
[/vba]

Автор - Enix
Дата добавления - 13.12.2017 в 23:08
Manyasha Дата: Среда, 13.12.2017, 23:40 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
Enix, Оформите код тегами (кнопка #)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеEnix, Оформите код тегами (кнопка #)

Автор - Manyasha
Дата добавления - 13.12.2017 в 23:40
bmv98rus Дата: Четверг, 14.12.2017, 00:22 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4108
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Enix, пока вы устраняете замечание модератора, просто из общего.
Первый скрипт выдаст набор MAC адресов, по числу сетевых адаптеров на ПК.
Вы для чего это затеваете, если для удобства - ОК, если для безопасности, то сомнительно.
Ну и конечно да, такой скрипт написать можно.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеEnix, пока вы устраняете замечание модератора, просто из общего.
Первый скрипт выдаст набор MAC адресов, по числу сетевых адаптеров на ПК.
Вы для чего это затеваете, если для удобства - ОК, если для безопасности, то сомнительно.
Ну и конечно да, такой скрипт написать можно.

Автор - bmv98rus
Дата добавления - 14.12.2017 в 00:22
Enix Дата: Четверг, 14.12.2017, 01:22 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
bmv98rus, Для удобства и для безопасности (есть ли другой варианты защиты файла с макросом)

- Если можно напишите пожалуйста, заранее спасибо. -
 
Ответить
Сообщениеbmv98rus, Для удобства и для безопасности (есть ли другой варианты защиты файла с макросом)

- Если можно напишите пожалуйста, заранее спасибо. -

Автор - Enix
Дата добавления - 14.12.2017 в 01:22
bmv98rus Дата: Четверг, 14.12.2017, 10:03 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4108
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Enix,
Задача на мой взгляд более широкая, чем просто вопрос на форуме. Проверку МАС можно вести в коде основной программы и смотреть по всему списку какие MAC адреса есть или просто проверять есть ли нужный
Две функции ниже. Вот что далее делать с этим в основном коде - зависеть от того что вы хотите получить, где и как хранить соответствие разрешений идентификаторам (в данном случае MAC адресам)

[vba]
Код
Private Function GetMACAddreses() As Variant
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set GetMACAddreses = objWMIService.ExecQuery("SELECT MACAddress FROM Win32_NetworkAdapter")
End Function

Private Function CheckMACAddres(ByVal strMAC As String) As Boolean
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set objMACAddreses = objWMIService.ExecQuery("SELECT MACAddress FROM Win32_NetworkAdapter where MACAddress = '" & strMAC & "'")
    CheckMACAddres = (objMACAddreses.Count <> 0)
End Function

Sub test()
   For Each objMac In GetMACAddreses
    Mac = objMac.MACAddress
   Next
End Sub

Sub test1()
    Debug.Print CheckMACAddres("00:0A:F7:32:F7:D4")
    Debug.Print CheckMACAddres("00:0A:F7:32:F7:D5")
End Sub
[/vba]

В данном случае все это защита от дурака. так как например Лист8.Visible = xlSheetVeryHidden сделает лист очень скрытым, но для того кто не сможет открыть его не стандартным образом. А если откроет это все в Libre или Open Calc то и это не потребуется там это обычный Hide. Значит надо защищать книгу и.т.д.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеEnix,
Задача на мой взгляд более широкая, чем просто вопрос на форуме. Проверку МАС можно вести в коде основной программы и смотреть по всему списку какие MAC адреса есть или просто проверять есть ли нужный
Две функции ниже. Вот что далее делать с этим в основном коде - зависеть от того что вы хотите получить, где и как хранить соответствие разрешений идентификаторам (в данном случае MAC адресам)

[vba]
Код
Private Function GetMACAddreses() As Variant
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set GetMACAddreses = objWMIService.ExecQuery("SELECT MACAddress FROM Win32_NetworkAdapter")
End Function

Private Function CheckMACAddres(ByVal strMAC As String) As Boolean
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set objMACAddreses = objWMIService.ExecQuery("SELECT MACAddress FROM Win32_NetworkAdapter where MACAddress = '" & strMAC & "'")
    CheckMACAddres = (objMACAddreses.Count <> 0)
End Function

Sub test()
   For Each objMac In GetMACAddreses
    Mac = objMac.MACAddress
   Next
End Sub

Sub test1()
    Debug.Print CheckMACAddres("00:0A:F7:32:F7:D4")
    Debug.Print CheckMACAddres("00:0A:F7:32:F7:D5")
End Sub
[/vba]

В данном случае все это защита от дурака. так как например Лист8.Visible = xlSheetVeryHidden сделает лист очень скрытым, но для того кто не сможет открыть его не стандартным образом. А если откроет это все в Libre или Open Calc то и это не потребуется там это обычный Hide. Значит надо защищать книгу и.т.д.

Автор - bmv98rus
Дата добавления - 14.12.2017 в 10:03
Enix Дата: Четверг, 14.12.2017, 17:44 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
bmv98rus, Как воспользоваться с вашими макрос функциями.

Нужна макрос на примеры при не соответствии MAC адреса файл закрывается или скрывается определенный листа
 
Ответить
Сообщениеbmv98rus, Как воспользоваться с вашими макрос функциями.

Нужна макрос на примеры при не соответствии MAC адреса файл закрывается или скрывается определенный листа

Автор - Enix
Дата добавления - 14.12.2017 в 17:44
bmv98rus Дата: Четверг, 14.12.2017, 20:32 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4108
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Enix, Без конкретики и привязки к конкретному файлу, задача тенет на платный раздел. Судя по вопросам, то что будет сделано, вы не сможете адаптировать под свои нужны, а значит надо предусматривать настройку и прочее... вам решать, но сделаю я вам пример, который будет открываться только на машине с моим MAC адресом, чем он вам поможет? .


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеEnix, Без конкретики и привязки к конкретному файлу, задача тенет на платный раздел. Судя по вопросам, то что будет сделано, вы не сможете адаптировать под свои нужны, а значит надо предусматривать настройку и прочее... вам решать, но сделаю я вам пример, который будет открываться только на машине с моим MAC адресом, чем он вам поможет? .

Автор - bmv98rus
Дата добавления - 14.12.2017 в 20:32
Enix Дата: Четверг, 14.12.2017, 21:55 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
bmv98rus, Для защиты, если можно давайте попробовать макрос который будет открываться только на машине с вашего MAC адресом или определенного MAC адреса,
Заранее спасибо за помощь с макросом .
 
Ответить
Сообщениеbmv98rus, Для защиты, если можно давайте попробовать макрос который будет открываться только на машине с вашего MAC адресом или определенного MAC адреса,
Заранее спасибо за помощь с макросом .

Автор - Enix
Дата добавления - 14.12.2017 в 21:55
bmv98rus Дата: Четверг, 14.12.2017, 22:44 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4108
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Мне не жалко, это несколько строк.
К сообщению приложен файл: LockByMAC-wrong.xlsm (13.5 Kb)


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеМне не жалко, это несколько строк.

Автор - bmv98rus
Дата добавления - 14.12.2017 в 22:44
Enix Дата: Четверг, 14.12.2017, 22:59 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
bmv98rus, да работает но при отключен и макроса с настройки, параметры Еxcel, файл открывается, как быт с этим...


Сообщение отредактировал Enix - Четверг, 14.12.2017, 23:16
 
Ответить
Сообщениеbmv98rus, да работает но при отключен и макроса с настройки, параметры Еxcel, файл открывается, как быт с этим...

Автор - Enix
Дата добавления - 14.12.2017 в 22:59
bmv98rus Дата: Пятница, 15.12.2017, 07:51 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4108
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Без конкретики и привязки к конкретному файлу, задача тенет на платный раздел

В данном случае вопрос более широк чем в изначальном топике. Дам подсказку. Перед сохранением скрывать листы, ставить защиту на книгу, а после валидации ПК её снимать и открывать листы. Сам проект VBA тоже защитить паролем. При отключенных макросах "бедолага" получит один лист доступный с надписью. "не входить убьет". Все это чуть усложнит "взлом".
Да, и про черный вход надо не забыть, а то получится однажды, что никто не может открыть.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Пятница, 15.12.2017, 08:58
 
Ответить
Сообщение
Без конкретики и привязки к конкретному файлу, задача тенет на платный раздел

В данном случае вопрос более широк чем в изначальном топике. Дам подсказку. Перед сохранением скрывать листы, ставить защиту на книгу, а после валидации ПК её снимать и открывать листы. Сам проект VBA тоже защитить паролем. При отключенных макросах "бедолага" получит один лист доступный с надписью. "не входить убьет". Все это чуть усложнит "взлом".
Да, и про черный вход надо не забыть, а то получится однажды, что никто не может открыть.

Автор - bmv98rus
Дата добавления - 15.12.2017 в 07:51
Enix Дата: Суббота, 16.12.2017, 12:48 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
bmv98rus, Вы можете совмещать две макросы "Private Sub Workbook_Open()" в одну книгу (файл) например ваша LockByMAC-wrong и Лист WARNING
Выставляю файл Лист WARNING.
К сообщению приложен файл: _WARNING.xls (59.0 Kb)
 
Ответить
Сообщениеbmv98rus, Вы можете совмещать две макросы "Private Sub Workbook_Open()" в одну книгу (файл) например ваша LockByMAC-wrong и Лист WARNING
Выставляю файл Лист WARNING.

Автор - Enix
Дата добавления - 16.12.2017 в 12:48
bmv98rus Дата: Воскресенье, 17.12.2017, 10:43 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4108
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Enix, ну поменяйте в _WARNING.xls


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеEnix, ну поменяйте в _WARNING.xls

Автор - bmv98rus
Дата добавления - 17.12.2017 в 10:43
Enix Дата: Среда, 10.01.2018, 22:30 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
bmv98rus, можно ли добавить еще в макрос следующие задачу
Например, в листе ячеек J2 написано "2018" то файл открываются если в листе J2 написано "2017" то лист закрываются
При запуске файла макрос проверяют МАС адрес и соответствующий ячеек J2, например, календарный значение "2018"
 
Ответить
Сообщениеbmv98rus, можно ли добавить еще в макрос следующие задачу
Например, в листе ячеек J2 написано "2018" то файл открываются если в листе J2 написано "2017" то лист закрываются
При запуске файла макрос проверяют МАС адрес и соответствующий ячеек J2, например, календарный значение "2018"

Автор - Enix
Дата добавления - 10.01.2018 в 22:30
bmv98rus Дата: Среда, 10.01.2018, 23:34 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4108
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Enix, Я говорю, что можно, а вот название темы говорит об обратном :-)

посомотрите например эту тему, может сами справитесь.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Среда, 10.01.2018, 23:43
 
Ответить
СообщениеEnix, Я говорю, что можно, а вот название темы говорит об обратном :-)

посомотрите например эту тему, может сами справитесь.

Автор - bmv98rus
Дата добавления - 10.01.2018 в 23:34
Enix Дата: Четверг, 11.01.2018, 10:39 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
bmv98rus, не получил ос можно пример с одной задачкой "в листе ячеек J2 написано "2018" то файл открываются если в листе J2 написано "2017" то лист закрываются"
 
Ответить
Сообщениеbmv98rus, не получил ос можно пример с одной задачкой "в листе ячеек J2 написано "2018" то файл открываются если в листе J2 написано "2017" то лист закрываются"

Автор - Enix
Дата добавления - 11.01.2018 в 10:39
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Защитит файл с MAC-адресом (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!