Добрый день.
Есть макрос, выполняющий нехитрую работу поиска названия страны ip-адреса по базе ip-адресов (Maxmind). Как известно, существует множество (более 120 тысяч) групп ip-адресов, с каждой из которых ассоциирована отдельная страна. Чтобы было проще искать в базе было придумано контрольное число, вычисляющиеся по формуле:
ipnum = 16777216*w + 65536*x + 256*y + z
где IP Address = w.x.y.z
Макрос при поиске 3000 ip-адресов в общей базе справляется за 50 секунд. Ищется альтернативный, более быстрый способ.
Знаю про использование словаря, но в данном случае не хватает знаний, чтобы применить его.
Пример в аттаче содержит урезанную версию базы ip-адресов.
Временные отметки:
Substring 0,086
Compare columns 48,25
Write 0,172
Total 48,508
Есть макрос, выполняющий нехитрую работу поиска названия страны ip-адреса по базе ip-адресов (Maxmind). Как известно, существует множество (более 120 тысяч) групп ip-адресов, с каждой из которых ассоциирована отдельная страна. Чтобы было проще искать в базе было придумано контрольное число, вычисляющиеся по формуле:
ipnum = 16777216*w + 65536*x + 256*y + z
где IP Address = w.x.y.z
Макрос при поиске 3000 ip-адресов в общей базе справляется за 50 секунд. Ищется альтернативный, более быстрый способ.
Знаю про использование словаря, но в данном случае не хватает знаний, чтобы применить его.
Пример в аттаче содержит урезанную версию базы ip-адресов.
Временные отметки:
Substring 0,086
Compare columns 48,25
Write 0,172
Total 48,508