🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chile.comp.programacion
Article #3273

Re: base de datos ip de cada pais

#3273
From: Leonardo Herrera
Date: Thu, 31 Mar 2005 13:58
46 lines
2817 bytes
Pato wrote:
> Ta complicado explicarlo pero, b�sicamente, las celdas son as� (la 
> f�rmula est� indicado por ----> y abajo el resultado) Arriba las columnas 
> A,B,C,D y E y a la izquierda con n�mero s�lo las que representan a los 
> resultados �si? Si no la pides al mail
> INT es sin�nimo de ENTERO por si acaso

Ok. Ahora me result�. A pesar de que VBA tiene el operador "\" (divisi�n 
entera), esta provoca desbordamiento, aunque use el modificador de 
Currency por todos lados (@). Viendo tu ejemplo, vi que usas INT, me 
imagin� que ser�a lo mismo, y claro, result�.

Lo que hice fue abrir el editor de VBA (dentro del excel, alt-f11), 
agregu� un nuevo m�dulo con la siguiente funci�n:

-------------------------------------------------------------
Const C_256_3 = 16777216
Const C_256_2 = 65536
Const C_256_1 = 256
Public Function UnpackIp(ByVal pvalue) As String
     Dim part As String
     part = CStr(Int(pvalue / C_256_3))
     pvalue = pvalue - (Int(pvalue / C_256_3) * C_256_3)

     part = part & "." & CStr(Int(pvalue / C_256_2))
     pvalue = pvalue - (Int(pvalue / C_256_2) * C_256_2)

     part = part & "." & CStr(Int(pvalue / C_256_1))
     pvalue = pvalue - (Int(pvalue / C_256_1) * C_256_1)

     part = part & "." & CStr(pvalue)

     UnpackIp = part
End Function
-----------------------------------------------------------------------

Luego, lo grab� como "Add-in" o "Complemento" (.xla). Luego, lo habilit� 
(Herramientas -> Complementos) y en la planilla Excel lo us� como una 
funci�n normal (por ej., "=UnpackIP(A1)").

Ojal� que a alguien le sirva.

Saludos,
--
Leonardo Herrera
http://leus.epublish.cl
Technical Details
Message-ID: <3b2do5F6d5spgU1@individual.net>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
References: <d29ghc$ej1$1@news1.nivel5.cl> <Xns9628E712E583patodonaldID6986628@200.73.8.4> <87k6nreyr1.fsf@guti.no-ip.org> <Xns96288588E50AEpatodonaldID6986628@200.73.8.4> <3atsm4F6ad5pbU1@individual.net> <Xns9629D56BD1592patodonaldID6986628@200.73.8.4>

Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,53e32211a6e3a92e
X-Google-Thread: fad43,53e32211a6e3a92e
X-Google-Attributes: gid1593cb,gidfad43,public
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: Leonardo Herrera <leus@epublish.cl>
Newsgroups: chile.comp.programacion,chile.comp.www
Subject: Re: base de datos ip de cada pais
Date: Thu, 31 Mar 2005 09:58:02 -0400
Lines: 46
Message-ID: <3b2do5F6d5spgU1@individual.net>
References: <d29ghc$ej1$1@news1.nivel5.cl> <Xns9628E712E583patodonaldID6986628@200.73.8.4> <87k6nreyr1.fsf@guti.no-ip.org> <Xns96288588E50AEpatodonaldID6986628@200.73.8.4> <3atsm4F6ad5pbU1@individual.net> <Xns9629D56BD1592patodonaldID6986628@200.73.8.4>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: individual.net RPxoBgg4TxsRMGAeYoFkdQ8qJmdGIIaDsPy3PTWC9v3Z/r5vfO
User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206)
X-Accept-Language: en-us, en
In-Reply-To: <Xns9629D56BD1592patodonaldID6986628@200.73.8.4>