jueves, 20 de octubre de 2011

VFP - Funciones para manejar nombres y números de columnas Excel

* Esta función es para Visual Fox y te permite saber el nombre de la columna en letras a partir de un número entero.
ejemplo: 2 = columna B, 27 = columna AA

function xls_ncol_let
LPARAMETERS nNumero
name=''
d= nNumero
DO WHILE d>0
m = MOD((d - 1),26)
                name = Chr(65 + m) + name
               d = Int((d - m) / 26)
    ENDDO
RETURN name
ENDFUNC


**************************************************************

* Esta función retorna el número de columna de excel a partir de una cadena de letras
ejemplo: B= 2, AA= 27

FUNCTION xls_let_ncol
LPARAMETERS cLetras

nAcum = 0
nPot = -1
FOR j= LEN(cLetras) TO 1 STEP -1
nPot = nPot +1
cChar = SUBSTR(cLetras,j,1)
nAcum = nAcum + ( (ASC(cChar)-64) * 26 ^nPot)
ENDFOR

RETURN nAcum
ENDFUNC

No hay comentarios:

Publicar un comentario