Tipos de dados usados pelo Excel
Aplica-se a: Excel 2013 | Office 2013 | Visual Studio
O Microsoft Excel troca v�rios tipos de ANSI C/C++ e tamb�m algumas estruturas de dados espec�ficas do Excel. Eles s�o mencionados aqui para fornecer um contexto para outras se��es e s�o abordados detalhadamente no t�pico xlfRegister (Form 1).
Tipos de ANSI C/C++
Números
Todas as versões do Excel:
duplo de 8 bytes
[assinado] curto [int] – usado para valores boolianos e também inteiros
unsigned short [int]
[signed long] int
Cadeias de caracteres
Todas as versões do Excel:
[signed] char * – cadeias de caracteres de bytes terminada por caractere nulo de até 255 caracteres
unsigned char * – cadeias de caracteres de bytes contada por tamanho de até 255 caracteres
Iniciando no Excel 2007:
- unsigned short * – cadeias de caracteres Unicode de até 32.767 caracteres, que podem ser terminadas por caractere nulo ou contadas por tamanho
Todos os números de planilha no Excel são armazenados como duplicatas para que ele não seja necessário (e, na verdade, introduz uma pequena sobrecarga de conversão) para declarar funções de suplemento como a troca de tipos de inteiro com o Excel.
Onde quer que você esteja usando tipos de inteiro, o Excel verifica se as entradas estão dentro dos limites do tipo e elas falharão com #NUM! se estiver fora desses limites. A exceção é quando você está registrando uma função para usar um argumento booliano , implementado usando int curto. Nesse caso, qualquer entrada não zero é convertida em 1 e zero é passado diretamente.
Estruturas de dados específicas do Excel
Todas as versões do Excel:
FP – uma estrutura de matriz de ponto flutuante bidimensional que dá suporte a até 65.356 linhas pelas colunas de número máximo compatíveis na versão fornecida do Excel.
XLOPER – uma estrutura de dados de vários tipos que pode representar todos os tipos de dados de planilha (incluindo erros), inteiros, referências de intervalo, tipos de controle de fluxo de planilha de macro XLM e um tipo de dados de armazenamento binário interno.
Observação
Cadeias de caracteres são representadas como cadeias de caracteres de bytes contada por tamanho de até 255 caracteres.
Iniciando no Excel 2007:
FP12 – uma estrutura de matriz de ponto flutuante bidimensional que dá suporte a todas as linhas e colunas a partir do Excel 2007.
XLOPER12 – uma estrutura de dados de vários tipos que pode representar todos os tipos de dados de planilha (incluindo erros), inteiros, referências de intervalo, tipos de controle de fluxo de planilha de macro XLM e um tipo de dados de armazenamento binário interno.
Observação
Cadeias de caracteres são representadas como cadeias de caracteres Unicode contadas por tamanho de até 32.767 caracteres.
Códigos de tipo de dados de registro
As fun��es XLL s�o registradas com a fun��o da API C do xlfRegister, que usa como terceiro argumento uma cadeia de caracteres de letras que codifica os tipos de retorno e argumento. Essa cadeia de caracteres tamb�m cont�m as informa��es que indicam ao Excel se a fun��o � vol�til, se � thread-safe (iniciando em Excel�2007), se � equivalente � folha de macro e se ela retorna o resultado modificando um argumento no local.
A tabela a seguir � reproduzida e abordada mais detalhadamente no t�pico xlfRegister (Form 1). Ela � reproduzida aqui com a finalidade de fornecer um contexto para o restante desta se��o. Por exemplo, uma fun��o que usa uma cadeia de caracteres Unicode contada por tamanho (iniciando em Excel�2007) poderia ser descrita como usando um argumento do tipo C%.
Tipo de dados | Passar por valor | Passar por ref (ponteiro) | Comentários |
---|---|---|---|
Boolean |
A |
L |
curto (0= false ou 1= verdadeiro) |
double |
B |
E |
|
char * |
C, F |
Cadeia de caracteres de bytes ASCII terminada por caractere nulo |
|
unsigned char * |
D, G |
Cadeia de caracteres de bytes ASCII contada por tamanho |
|
short não assinado * (começando no Excel 2007) |
C%, F% |
Cadeia de caracteres largos Unicode terminada por caractere nulo |
|
short não assinado * (começando no Excel 2007) |
D%, G% |
Cadeia de caracteres largos Unicode contado por tamanho |
|
unsigned short [int] |
H |
WORD |
|
[signed] short [int] |
I |
M |
16 bits |
[signed long] int |
J |
N |
32 bits |
Array |
O |
Passados como três argumentos por referência: 1. int curto *linhas 2. int curto *colunas 3. double *array |
|
Matriz (iniciando em Excel 2007) |
O% |
Passados como três argumentos por referência: 1. int *linhas 2. int *columns 3. double *array |
|
FP |
K |
Estrutura de matriz do ponto flutuante |
|
FP12 (iniciando em Excel 2007) |
K% |
Estrutura de matriz do ponto flutuante de grade grande |
|
XLOPER |
P |
Valores e matrizes de planilha de tipo variável |
|
R |
Referências de valores, matrizes e intervalos |
||
XLOPER12 (iniciando em Excel 2007) |
I |
Valores e matrizes de planilha de tipo variável |
|
U |
Referências de valores, matrizes e intervalos |
Os tipos C%, F%, D%, G%, K%, O%, Q e U eram todos novos no Microsoft Office Excel 2007 e n�o t�m suporte em vers�es anteriores. Os tipos de cadeia de caracteres F, F%, G e G% s�o usados para os argumentos que s�o modificados no local. Quando os argumentos XLOPER ou XLOPER12 s�o registrados como tipos P ou Q, respectivamente, o Excel converte as refer�ncias de c�lula �nica para valores simples e refer�ncias de c�lula m�ltipla ao prepar�-las.
Os tipos P e Q chegam sempre na função como um dos seguintes tipos: xltypeNum, xltypeStr, xltypeBool, xltypeErr, xltypeMulti, xltypeMissing ou xltypeNil, exceto xltypeRef ou xltypeSRef, visto que estes são sempre desreferenciados.
O tipo O, que, na verdade, s�o tr�s argumentos na pilha, foi introduzido para compatibilidade com DLLs Fortran em que os argumentos s�o passados por refer�ncia. Ele n�o pode ser usado para retornar um valor, exceto se for usado por meio da declara��o do argumento como um valor retornado a ser modificado no local e com a coloca��o dos resultados nos valores referenciados. O tipo O% estende os tipos O no Excel�2007 para que ele possa acessar matrizes que abrangem �reas maiores do que a grade do Office Excel 2003.