Usando as funções CHAMAR e REGISTRO

Importante :  Este artigo foi traduzido por um sistema de tradução automática, leia o aviso de isenção de responsabilidade. Para sua referência, veja a versão em inglês deste artigo aqui.

Importante : Cuidado    A edição do Registro de forma incorreta poderá danificar seriamente o sistema operacionaI e exigir que ele seja reinstalado. A Microsoft não pode garantir que problemas resultantes da edição incorreta do Registro possam ser resolvidos. Antes de editar o Registro, faça backup de todos os dados valiosos. Para obter as informações mais recentes sobre como usar e proteger o Registro do computador, consulte a Ajuda do Microsoft Windows.

Este artigo descreve a sintaxe da fórmula e o uso das funções CHAMAR, REGISTRO e IDENT.REGISTRO no Microsoft Excel.

Observação :  As funções CHAMAR e REGISTRO não estão disponíveis no Excel Online.

Neste artigo

Descrição

Tipos de dados

Comentários

Informações adicionais sobre tipos de dados

Tipos de dados F e G

Tipo de dados K

Tipo de dados O

Tipo de dados P

Tipo de dados R — Chamando funções do Microsoft Excel a partir de DLLs

Funções voláteis e recálculo

Modificando no local — Funções declaradas como nulas

Descrição

A seguir, estão descritos os tipos de dados de argumento e valor de retorno usados pelas funções CHAMAR, REGISTRO e IDENT.REGISTRO. Argumentos e valores de retorno têm pequenas diferenças, dependendo do ambiente operacional, e essas diferenças são observadas na tabela de tipo de dados.

Início da Página

Tipos de dados

Nas funções CHAMAR, REGISTRO e IDENT.REGISTRO, o argumento tipo_texto especifica o tipo de dados do valor de retorno e os tipos de dados de todos os argumentos para a função de DLL ou para o recurso de código. O primeiro caractere de tipo_texto especifica o tipo de dados do valor de retorno. Os caracteres restantes indicam os tipos de dados de todos os argumentos. Por exemplo, uma função de DLL que retorna um número de ponto flutuante e usa um número inteiro e um número de ponto flutuante como argumentos exigiria "BIB" para o argumento tipo_texto.

A tabela a seguir contém uma lista completa dos códigos de tipo de dados que o Microsoft Excel reconhece, uma descrição de cada tipo de dados, como o argumento ou o valor de retorno é passado e uma declaração típica para o tipo de dados na linguagem de programação C.

Código

Descrição

Passa por

Declaração C

A

Lógico
(FALSO = 0), VERDADEIRO = 1)

Valor

short int

N

Número de ponto flutuante de 8 bytes IEEE

Valor
(Windows)

Referência (Macintosh)

double
(Windows)

double * (Macintosh)

C

Cadeia terminada por caractere nulo (comprimento máximo da cadeia = 255)

Referência

char *

D

Cadeia contada em bytes (o primeiro byte contém o comprimento da cadeia, comprimento máximo da cadeia = 255 caracteres)

Referência

Unsigned char *

E

Número de ponto flutuante de 8 bytes IEEE

Referência

double *

F

Cadeia terminada por caractere nulo (comprimento máximo da cadeia = 255)

Referência (modificar no local)

char *

G

Cadeia contada em bytes (o primeiro byte contém o comprimento da cadeia, comprimento máximo da cadeia = 255 caracteres)

Referência (modificar no local)

unsigned char *

H

Inteiro de 2 bytes não assinado

Valor

unsigned short int

I

Inteiro de 2 bytes assinado

Valor

short int

J

Inteiro de 4 bytes assinado

Valor

long int

K

Matriz

Referência

FP *

L

Lógico
(FALSO = 0, VERDADEIRO = 1)

Referência

XLOPER *

L

Inteiro de 2 bytes assinado

Referência

short int *

M

Inteiro de 2 bytes assinado

Referência

short int *

N

Inteiro de 4 bytes assinado

Referência

São passados três argumentos:
unsigned short int *
unsigned short int *
double [ ]

O

Matriz

Referência

OPER *

P

Estrutura de dados OPER do Microsoft Excel

Referência

OPER *

Início da Página

Comentários

  • As declarações da linguagem C são baseadas na suposição de que o compilador usa como padrão duplos de 8 bytes, inteiros curtos de 2 bytes e inteiros longos de 4 bytes.

  • No ambiente de programação do Microsoft Windows, todos os ponteiros são far. Por exemplo, é necessário declarar o código do tipo de dados D como unsigned char far * no Microsoft Windows.

  • Todas as funções em DLLs e recursos de códigos são chamados com a convenção de chamada do Pascal. A maioria dos compiladores C permite que você use a convenção de chamada do Pascal, adicionando a palavra-chave do Pascal para a declaração de função, como mostrado no seguinte exemplo: pascal void main (rows,columns,a)

  • Se uma função usar um tipo de dados que passa por referência para o valor de retorno, você poderá passar um ponteiro nulo como valor de retorno. O Microsoft Excel interpretará o ponteiro nulo como o valor de erro #NÚM!.

Início da Página

Informações adicionais sobre tipos de dados

Esta seção contém informações detalhadas sobre os tipos de dados F, G, K, O, P e R e outras informações sobre o argumento tipo_texto.

Tipos de dados F e G

Com os tipos de dados F e G, uma função pode modificar um buffer de cadeia de caracteres que está alocado pelo Microsoft Excel. Se o código do tipo de valor de retorno é F ou G, o Microsoft Excel ignora o valor retornado pela função. O Microsoft Excel procura na lista de argumentos de função o primeiro tipo de dados correspondente (F ou G) e usa o conteúdo atual do buffer de cadeia de caracteres alocado como o valor de retorno. O Microsoft Excel aloca 256 bytes para o argumento, de modo que a função possa retornar uma cadeia de caracteres maior do que a recebida.

Início da Página

Tipo de dados K

O tipo de dados K usa um ponteiro para uma estrutura FP de tamanho variável. Você deve definir essa estrutura na DLL ou no recurso de código desta forma:

typedef struct _FP
{
unsigned short int rows;
unsigned short int columns;
double array[1]; /* Actually, array[rows][columns] */
} FP;

A declaração double array[1] aloca armazenamento para apenas uma matriz de elemento único. O número de elementos na matriz real equivale ao número de linhas multiplicado pelo número de colunas.

Início da Página

Tipo de dados O

O tipo de dados O pode ser usado apenas como um argumento, não como um valor de retorno. Ele passa três itens: um ponteiro para o número de linhas em uma matriz, um ponteiro para o número de colunas em uma matriz e um ponteiro para uma matriz bidimensional de números de ponto flutuante.

Em vez de retornar um valor, uma função pode modificar uma matriz passada pelo tipo de dados O. Para fazer isso, você pode usar ">O" como o argumento tipo_texto. Para obter mais informações, consulte abaixo "Modificando no local — Funções declaradas como nulas".

O tipo de dados O foi criado para ter compatibilidade direta com DLLs do Fortran, que passam argumentos por referência.

Início da Página

Tipo de dados P

O tipo de dados P é um ponteiro para uma estrutura OPER. A estrutura OPER contém 8 bytes de dados, seguidos de um identificador de 2 bytes que especifica o tipo de dados. Com o tipo de dados P, uma função de DLL ou um recurso de código pode usar e retornar qualquer tipo de dados do Microsoft Excel.

A estrutura OPER é definida desta forma:

typedef struct _oper

{
union
{
double num;
unsigned char *str;
unsigned short int bool;
unsigned short int err;
struct
{
struct _oper *lparray;
unsigned short int rows;
unsigned short int columns;
} array;
} val;
unsigned short int type;
} OPER;

O campo de tipo contém um destes valores.

Tipo

Descrição

Campo val a ser usado

1

Numérico

num

2

Cadeia de caracteres (primeiro byte contém o comprimento da cadeia)

str

4

Booliano (lógico)

bool

16

Erro: os valores de erro são:

0#NULO!

7#DIV/0!

15#Valor!

23#REF!

29#NOME?

36#NÚM!

42#N/D

err

64

Matriz

matriz

128

Argumento ausente

256

Célula vazia

Os dois últimos valores podem ser usados apenas como argumentos, e não como valores de retorno. O valor de argumento ausente (128) é passado quando o chamador omite um argumento. O valor de célula vazia (256) é passado quando o chamador passa uma referência para uma célula vazia.

Início da Página

Tipo de dados R — Chamando funções do Microsoft Excel a partir de DLLs

O tipo de dados R é um ponteiro para uma estrutura XLOPER, que é uma versão aprimorada da estrutura OPER. No Microsoft Excel versão 4.0 e posterior, você pode usar o tipo de dados R para escrever DLLs e recursos de código que chamam funções do Microsoft Excel. Com a estrutura XLOPER, uma função de DLL pode passar referências de planilha e implementar controle de fluxo, além de passar dados. Uma descrição completa do tipo de dados R e da interface de programação de aplicativo (API) do Microsoft Excel vai além do escopo deste tópico. O Guia do Desenvolvedor do Microsoft Office XP contém informações detalhadas sobre o tipo de dados R, a API do Microsoft Excel e muitos outros aspectos técnicos do Microsoft Excel.

Início da Página

Funções voláteis e recálculo

Geralmente, o Microsoft Excel calcula uma função de DLL (ou um recurso de código) apenas quando ele é inserido em uma célula, quando um de seus precedentes é alterado ou quando a célula é calculada durante uma macro. Em uma planilha, você pode tornar uma função de DLL ou um recurso de código volátil, o que significa que ele é recalculado sempre que a planilha é recalculada. Para tornar uma função volátil, adicione um ponto de exclamação (!) como o último caractere no argumento tipo_texto.

Por exemplo, no Microsoft Excel para Windows, a seguinte fórmula de planilha é recalculada sempre que a planilha é recalculada:

Call("Kernel32","GetTickCount","J!")

Início da Página

Modificando no local — Funções declaradas como nulas

Você pode usar um único dígito n para o código de tipo de retorno em tipo_texto, onde n é um número de 1 a 9. Isso diz ao Microsoft Excel para modificar a variável no local apontado pelo enésimo argumento em tipo_texto, em vez de retornar um valor. Isso também é conhecido como modificar no local. O enésimo argumento deve ser um tipo de dados que passa por referência (C, D, E, F, G, K, L, M, N, O, P ou R). A função de DLL ou o recurso de código deve ser também declarado com a palavra-chave void na linguagem C (ou a palavra-chave procedure na linguagem Pascal).

Por exemplo, uma função de DLL que usa como argumentos uma cadeia terminada por caractere nulo e dois ponteiros para inteiros pode modificar a cadeia no local. Use "1FMM" como o argumento tipo_texto e declare a função como nula.

Versões anteriores ao Microsoft Excel 4.0 usavam o caractere > para modificar o primeiro argumento no local; não havia como modificar um argumento diferente do primeiro. O caractere > é equivalente a n = 1 no Microsoft Excel versões 4.0 e posterior.

Início da Página

Observação : Aviso de Isenção de Tradução Automática: Este artigo foi traduzido por computador, sem intervenção humana. A Microsoft oferece essas traduções automáticas para ajudar as pessoas que não falam inglês a aproveitar os textos escritos sobre produtos, serviços e tecnologias da Microsoft. Como este artigo foi traduzido automaticamente, é possível que contenha erros de vocabulário, sintaxe ou gramática.

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Office Insider

Essas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×