Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2009, 15:41   #1
Sparxy
Пользователь
 
Регистрация: 26.01.2009
Сообщений: 29
По умолчанию Access & API functions

Может кто пользовался через VBA API функциями?
Точнее мне надо сменить ip адрес программно.
Не стоит чинить то, что еще не сломалось...
Sparxy вне форума Ответить с цитированием
Старый 23.10.2009, 16:48   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Для смены IP-адреса совсем необязательно использовать WinAPI.
Гораздо проще использовать WMI.

Считать все назначенные сетевым картам IP-адреса можно так:
Код:
Function Get_All_IP_Addresses() As Collection
    Set Get_All_IP_Addresses = New Collection
    Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    Set colAdapters = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")

    For Each objAdapter In colAdapters
        If Not IsNull(objAdapter.IPAddress) Then
            For i = 0 To UBound(objAdapter.IPAddress)
                Get_All_IP_Addresses.Add objAdapter.IPAddress(i)
            Next
        End If
    Next
End Function

Sub test_Get_All_IP_Addresses()
    For Each i In Get_All_IP_Addresses
        Debug.Print i
    Next
End Sub
Сменить адрес ненамного сложнее.
К примеру, можно выполнить bat-файл из одной строки:
Цитата:
netsh interface ip set address local static 192.168.1.123 255.255.255.0
Здесь local - название сетевой карты

Почитайте про Win32_NetworkAdapterConfiguration

Последний раз редактировалось EducatedFool; 23.10.2009 в 16:52.
EducatedFool вне форума Ответить с цитированием
Старый 23.10.2009, 16:50   #3
Abrakadabra
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 487
По умолчанию

Цитата:
Сообщение от Sparxy Посмотреть сообщение
мне надо сменить ip адрес программно.
можно просто

Shell "netsh interface ip set address "Подключение по локальной сети" static 192.168.0.55 255.255.255.0 192.168.0.1 1", vbHide
Abrakadabra вне форума Ответить с цитированием
Старый 23.10.2009, 17:42   #4
Sparxy
Пользователь
 
Регистрация: 26.01.2009
Сообщений: 29
По умолчанию

спасибо, буду пробовать
Не стоит чинить то, что еще не сломалось...
Sparxy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# & Access Areostar Общие вопросы .NET 1 05.05.2009 06:55
ADO & Access Регишка БД в Delphi 7 24.11.2008 15:48
Delphi & Access & Ole vodila БД в Delphi 0 15.07.2008 11:11
Delphi & Access LIEN Помощь студентам 1 26.04.2008 14:37