Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/54: Рейтинг темы: голосов - 54, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 22

Макрос для проверки IP адресов

16.04.2012, 07:19. Показов 10728. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
дорогие камрады!
помогите плиз!
вопрос такой: есть файлик в экселе. в нем указаны ip адреса и поля установлен или нет. таких строк больше 1000 уже. проверять руками каждый ип адрес уже нет сил. хотелось бы узнать как можно написать макрос для того чтобы он сам брал эти ип адреса, пинговал их и после ответа правил слово не установлен на слово установлен. возможно ли такое ???
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.04.2012, 07:19
Ответы с готовыми решениями:

Макрос для проверки заполнения
Доброе время суток. Плиз, прошу помощи. Макрос должен работать в "фоновом" режиме при открытии файла Excel. Найти на первом (!) листе...

Макрос для проверки двух диапазонов данных
Здравствуйте, уважаемые форумчане! Я недавно начал изучать VBA и столкнулся с такой задачкой: есть две таблицы - в одной номер и...

Макрос для проверки на кратность количества при вводе
Здравствуйте, уважаемые форумчане! Я недавно начала изучать VBA и столкнулась с такой задачкой: Есть таблица, в которой имеются...

12
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 22
16.04.2012, 13:06  [ТС]
видимо такое вообще не возможно сделать
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
16.04.2012, 13:15
Возьми скрипт для ping со страницы http://www.microsoft.com/techn... emote.mspx (Listing 15 Ping.vbs). Кусок скрипта обращающийся к WMI ты можешь спокойно убрать. Добавить же цикл по строкам своей рабочей книги вокруг этого примера я надеюсь ты в состоянии сделать.
0
1 / 1 / 1
Регистрация: 18.06.2008
Сообщений: 329
16.04.2012, 13:46
http://script-coding.info/Ping.html

Первая функция.
0
22 / 5 / 1
Регистрация: 05.09.2010
Сообщений: 370
16.04.2012, 15:22
Приведенная Letter_D ссылка будет работать на NT-основе (т.к используется cmd.exe). Для использования под 9X её надо подправить...

Вот это http://www.freevbcode.com/ShowCode.asp?ID=4945 должно работать на обеих платформах...
0
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 22
17.04.2012, 08:12  [ТС]
хм... либо я слишком отупел либо чота не понимаю но ни чего не заработало
http://script-coding.info/Ping.html
смотрел здесь - пишет ошибку "должен быть end sub"

хелп !!!!!!!!!! плииииз !!!!!
0
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 22
17.04.2012, 08:15  [ТС]
http://www.microsoft.com/technet/scriptcenter/topics/networking/03_atnc_remote.mspx (listing 15 ping.vbs) не подходит. он же для VB а не для VBA.
0
22 / 5 / 1
Регистрация: 05.09.2010
Сообщений: 370
17.04.2012, 10:09
Проверь почту
0
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 22
17.04.2012, 11:18  [ТС]
проверил
блин просто безумно благодарен!!!
спасибо большое большое!!!

только вот еще глюки надо отловить.

Иван.
0
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 22
17.04.2012, 11:31  [ТС]
Visual Basic
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
28
29
30
31
32
33
34
35
36
37
38
39
40
'==========
Private Declare Function GetRTTAndHopCount Lib "iphlpapi.dll" _
        (ByVal lDestIPAddr As Long, _
         ByRef lHopCount As Long, _
         ByVal lMaxHops As Long, _
         ByRef lRTT As Long) As Long
         
Private Declare Function inet_addr Lib "wsock32.dll" _
        (ByVal cp As String) As Long
 
Public Function SimplePing(sIPadr As String) As Boolean
 
    Dim lIPadr      As Long
    Dim lHopsCount  As Long
    Dim lRTT        As Long
    Dim lMaxHops    As Long
    Dim lResult     As Long
    
    Const SUCCESS = 1
    
    lMaxHops = 10              ' should be enough ...
    
    lIPadr = inet_addr(sIPadr)
    
    SimplePing = (GetRTTAndHopCount(lIPadr, lHopsCount, lMaxHops, lRTT) = SUCCESS)
    
End Function
 
Sub ïðîâåðêà()
  Application.Cursor = xlWait
  r = 1
  Do While Not IsEmpty(Cells(r, 2))
    Application.StatusBar = "идет проверка " & Cells(r, 2) & "..."
    If SimplePing(Cells(r, 2)) Then Cells(r, 3) = "отвечает" Else Cells(r, 3) = "не отвечает"
    r = r + 1
  Loop
  Application.Cursor = xlDefault
  MsgBox "", vbInformation, "готово"
End Sub
'==========
воот...
трабла с пустыми строками. если макросу попадается пустая строка то он прекращает работу что не есть гуд

Иван.
0
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 22
17.04.2012, 16:59  [ТС]
вот еще такой вопрос:
Application.StatusBar = "проверка" & Cells(r, x_adr) & "....."
а как сделать вывод в отдельное окно? а то не совсем удобно со статус баром.

Иван.
0
22 / 5 / 1
Регистрация: 05.09.2010
Сообщений: 370
18.04.2012, 11:06
Через MsgBox это нелья делать, тк программа должна продолжать работать...
0
22 / 5 / 1
Регистрация: 05.09.2010
Сообщений: 370
18.04.2012, 11:32
В модуле, в раздел деклараций добавть
Visual Basic
1
Private Declare Sub Sleep Lib "kernel32" (ByVal milliseconds As Long)
Добавить UserForm1, на нее Label1
Заменить процедуру на
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub проверка()
  Application.Cursor = xlWait
  r_beg = 1   ' с  какой строки идут адреса
  r_end = 100 ' до какой строки
  x_adr = 9   ' колонка с адресами
  x_st = 8    ' колонка со статусами
  
  UserForm1.Show (vbModeless)
  
  For r = r_beg To r_end
    If Not IsEmpty(Cells(r, x_adr)) Then
      'Application.StatusBar = "идет проверка " & Cells(r, x_adr) & "..."
      UserForm1.Label1.Caption = "идет проверка " & Cells(r, x_adr) & "..."
      UserForm1.Repaint
      Sleep 500
      If SimplePing(Cells(r, x_adr)) Then Cells(r, x_st) = "работает" Else Cells(r, x_st) = "не работает"
    End If
  Next
  
  Application.Cursor = xlDefault
  Unload UserForm1
  MsgBox "", vbInformation, "Готово"
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.04.2012, 11:32
Помогаю со студенческими работами здесь

Как создать макрос для проверки файлов поврежден вирусом Петя
Подскажите Как создать макрос для проверки файлов поврежден вирусом Петя или может у кого есть. Необходимо проверить комп и удалить(или...

Макрос для проверки полей на значения и вывода сообщения про ошибку или ее отсутствие в этом поле
И так... У меня есть задание на создания макроса, который будет проверять значения полей на их правильность и выводить сообщение если в нем...

Написать макрос выделения из адресов, находящихся в отдельном столбце таблицы, корпусов
Написать макрос выделения из адресов, находящихся в отдельном столб- це таблицы, корпусов (если они присутствуют в адресе). Выделенные...

Макрос проверки числа
Помогите,пожалуйста, составить макрос проверки числа в ячейке B1. Если текст, выдать при помощи команды Deburg.Print ошибку.

Макрос проверки типа данных ячейки
Доброго времени суток. Есть задание, в котором необходимо что бы ячейки, значение которых больше 0, окрашивались в один цвет, ячейки,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru