Uso de Las Funciones LLAMAR y REGISTRAR - Excel - Office

4
18/05/13 Uso de las funciones LLAMAR y REGISTRAR - Excel - Office.com office.microsoft.com/es-hn/excel-help/uso-de-las-funciones-llamar-y-registrar-HA102752825.aspx?CTT=5&origin=HA102753098 1/4 Es posible que parte del contenido de este tema no pueda aplicarse a algunos idiomas. IMPORTANTE Precaución Una modificación incorrecta del Registro podría causar graves daños en el sistema operativo e, incluso, forzar su reinstalación. Microsoft no puede garantizar que puedan resolverse los problemas resultantes de una modificación incorrecta del Registro. Antes de modificar el Registro, realice una copia de seguridad de todos los datos de valor. Para obtener la información más reciente sobre el uso y la protección del Registro de su equipo, vea la Ayuda de Microsoft Windows. Este artículo describe la sintaxis de la fórmula y el uso de las funciones LLAMAR, REGISTRAR e ID.REGISTRO de Microsoft Excel. NOTA Las funciones LLAMAR y REGISTRAR no están disponibles en Excel Web App. En este artículo Descripción Tipos de datos Observaciones Información sobre tipos de datos adicionales Tipos de datos F y G Tipo de datos K Tipo de datos O Tipo de datos P Tipo de datos R. Llamar a funciones de Microsoft Excel desde archivos DLL Funciones volátiles y actualización Modificar in situ. Funciones declaradas como Void Descripción A continuación se describen los tipos de datos del argumento y del valor devuelto que usan las funciones LLAMAR, REGISTRAR e ID.REGISTRO. Los argumentos y los valores devueltos difieren ligeramente dependiendo del entorno operativo. Estas diferencias se indican en la tabla de tipos de datos. Tipos de datos En las funciones LLAMAR, REGISTRAR e ID.REGISTRO, el argumento tipo especifica el tipo de datos del valor devuelto y los tipos de datos de todos los argumentos para la función de la DLL o el recurso de código. El primer carácter del argumento tipo especifica el tipo de datos del valor devuelto. Los demás caracteres indican los tipos de datos de todos los argumentos. Por ejemplo, una función de DLL que devuelve un número de coma flotante y acepta un entero y un número de coma flotante como argumentos requiere el valor "BIB" como argumento tipo. La tabla siguiente contiene una lista completa de los códigos de tipos de datos que reconoce Microsoft Excel, una descripción de cada tipo de datos, una descripción de la forma en que se pasa el argumento o el valor de retorno y una declaración típica de los tipos de datos en el lenguaje de programación C. Uso de las funciones LLAMAR y REGISTRAR

description

Uso de Las Funciones LLAMAR y REGISTRAR - Excel - Office

Transcript of Uso de Las Funciones LLAMAR y REGISTRAR - Excel - Office

18/05/13 Uso de las funciones LLAMAR y REGISTRAR - Excel - Office.com

office.microsoft.com/es-hn/excel-help/uso-de-las-funciones-llamar-y-registrar-HA102752825.aspx?CTT=5&origin=HA102753098 1/4

Es posible que parte del contenido de este tema no pueda aplicarse a algunos idiomas.

IMPORTANTE Precaución Una modificación incorrecta del Registro podría causar graves daños en el

sistema operativo e, incluso, forzar su reinstalación. Microsoft no puede garantizar que puedan resolverse

los problemas resultantes de una modificación incorrecta del Registro. Antes de modificar el Registro,

realice una copia de seguridad de todos los datos de valor. Para obtener la información más reciente

sobre el uso y la protección del Registro de su equipo, vea la Ayuda de Microsoft Windows.

Este artículo describe la sintaxis de la fórmula y el uso de las funciones LLAMAR , REGISTRAR e

ID.REGISTRO de Microsoft Excel.

NOTA Las funciones LLAMAR y REGISTRAR no están disponibles en Excel Web App.

En este artículo

Descripción

Tipos de datos

Observaciones

Información sobre tipos de datos adicionales

Tipos de datos F y G

Tipo de datos K

Tipo de datos O

Tipo de datos P

Tipo de datos R. Llamar a funciones de Microsoft Excel desde archivos DLL

Funciones volátiles y actualización

Modificar in situ. Funciones declaradas como Void

DescripciónA continuación se describen los tipos de datos del argumento y del valor devuelto que usan las funciones

LLAMAR , REGISTRAR e ID.REGISTRO. Los argumentos y los valores devueltos difieren ligeramente

dependiendo del entorno operativo. Estas diferencias se indican en la tabla de tipos de datos.

Tipos de datosEn las funciones LLAMAR , REGISTRAR e ID.REGISTRO, el argumento tipo especifica el tipo de datos

del valor devuelto y los tipos de datos de todos los argumentos para la función de la DLL o el recurso de

código. El primer carácter del argumento tipo especifica el tipo de datos del valor devuelto. Los demás

caracteres indican los tipos de datos de todos los argumentos. Por ejemplo, una función de DLL que

devuelve un número de coma flotante y acepta un entero y un número de coma flotante como

argumentos requiere el valor "BIB" como argumento tipo.

La tabla siguiente contiene una lista completa de los códigos de tipos de datos que reconoce Microsoft

Excel, una descripción de cada tipo de datos, una descripción de la forma en que se pasa el argumento o

el valor de retorno y una declaración típica de los tipos de datos en el lenguaje de programación C.

Uso de las funciones LLAMAR y REGISTRAR

18/05/13 Uso de las funciones LLAMAR y REGISTRAR - Excel - Office.com

office.microsoft.com/es-hn/excel-help/uso-de-las-funciones-llamar-y-registrar-HA102752825.aspx?CTT=5&origin=HA102753098 2/4

CÓDIGO DESCRIPCIÓN SE PASA

POR

DECLARACIÓN

EN C

A Lógico

(FALSO = 0), VERDADERO = 1)

Valor short int

B Número con coma flotante de 8 bytes IEEE Valor

(Windows)

Referencia

(Macintosh)

double

(Windows)

double *

(Macintosh)

C Cadena terminada en valor nulo (longitud máxima de la

cadena = 255 caracteres)

Referencia char *

D Cadena contada en bytes (el primer byte contiene la

longitud de la cadena; longitud máxima de la cadena =

255 caracteres)

Referencia Unsigned char *

E Número con coma flotante de 8 bytes IEEE Referencia double *

F Cadena terminada en valor nulo (longitud máxima de la

cadena = 255 caracteres)

Referencia

(modificar in

situ)

char *

G Cadena contada en bytes (el primer byte contiene la

longitud de la cadena; longitud máxima de la cadena =

255 caracteres)

Referencia

(modificar in

situ)

unsigned char *

H Entero de 2 bytes sin signo Valor unsigned short

int

I Entero de 2 bytes con signo Valor short int

J Entero de 4 bytes con signo Valor long int

K Matriz Referencia FP *

L Lógico

(FALSO = 0, VERDADERO = 1)

Referencia short int *

M Entero de 2 bytes con signo Referencia short int *

N Entero de 4 bytes con signo Referencia long int *

O Matriz Referencia Se pasan tres

argumentos:

unsigned short

int *

unsigned short

int *

double [ ]

P Estructura de datos OPER de Microsoft Excel Referencia OPER *

R Estructura de datos XLOPER de Microsoft Excel Referencia XLOPER *

Observaciones

Las declaraciones del lenguaje C se basan en el supuesto de que el compilador usa de forma

predeterminada valores double de 8 bytes, valores short int de 2 bytes y valores long int de 4 bytes.

En el entorno de programación de Microsoft Windows, todos los punteros son punteros de tipo far

(remoto). Por ejemplo, debe declarar el código de tipo de datos D como unsigned char far *

en Microsoft Windows.

Todas las llamadas a funciones de archivos DLL y a recursos de código se realizan con la convención de

nomenclatura Pascal. Casi todos los compiladores de C permiten usar la convención de nomenclatura

Pascal añadiendo la palabra clave Pascal a la declaración de la función, como se muestra en el ejemplo

siguiente: pascal void main (rows,columns,a)

Si una función usa un tipo de datos para pase por referencia (pass-by-reference) como tipo de retorno,

puede pasar un puntero nulo como valor de retorno. Microsoft Excel interpretará el puntero nulo como

valor de error #¡NUM!.

Información sobre tipos de datos adicionalesEsta sección contiene información detallada sobre los tipos de datos F, G, K, O, P y R y otras

informaciones sobre el argumento tipo.

Tipos de datos F y G

Con los tipos de datos F y G, una función puede modificar un búfer de cadena que esté asignado por

Microsoft Excel. Si el código de tipo de retorno es F o G, Microsoft Excel descarta el valor devuelto por la

función. En lugar de este valor, Microsoft Excel busca en la lista de argumentos de función el primer tipo

de datos correspondiente (F o G) y toma el contenido actual del búfer de cadena asignado como valor

de retorno. Microsoft Excel asigna 256 bytes para el argumento, de forma que la función puede devolver

una cadena más larga que la que recibió.

Tipo de datos K

El tipo de datos K usa un puntero para una estructura FP de tamaño variable. Debe definir esta estructura

en el archivo DLL o recursos de código como sigue:

18/05/13 Uso de las funciones LLAMAR y REGISTRAR - Excel - Office.com

office.microsoft.com/es-hn/excel-help/uso-de-las-funciones-llamar-y-registrar-HA102752825.aspx?CTT=5&origin=HA102753098 3/4

typedef struct _FP

{

unsigned short int rows;

unsigned short int columns;

double array[1]; /* Actually, array[rows][columns] */

} FP;

La declaración double array[1] únicamente asigna el almacenamiento para una matriz de un solo

elemento. El número de elementos de la matriz real es igual al número de filas multiplicado por el

número de columnas.

Tipo de datos O

El tipo de datos O solo puede usarse como argumento, no como valor de retorno. Pasa tres elementos: un

puntero para el número de filas de una matriz, un puntero para el número de columnas de una matriz y

un puntero para una matriz bidimensional de números de coma flotante.

En lugar de devolver un valor, una función puede modificar una matriz pasada por el tipo de datos O.

Para ello, puede usar ">O" como argumento tipo. Para más información, vea más adelante "Modificar in

situ. Funciones declaradas como Void".

El tipo de datos O se creó para que fuera compatible directamente con los archivos DLL Fortran, que

pasan argumentos por referencia.

Tipo de datos P

El tipo de datos P es un puntero para una estructura OPER. La estructura OPER contiene 8 bytes de datos,

seguidos por un identificador de 2 bytes que especifica el tipo de datos. Con el tipo de datos P, una

función de DLL o recurso de códigos puede tomar y devolver cualquier tipo de datos de Microsoft Excel.

La estructura OPER se define como sigue:

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;

El campo Tipo contiene uno de estos valores.

18/05/13 Uso de las funciones LLAMAR y REGISTRAR - Excel - Office.com

office.microsoft.com/es-hn/excel-help/uso-de-las-funciones-llamar-y-registrar-HA102752825.aspx?CTT=5&origin=HA102753098 4/4

TIPO DESCRIPCIÓN CAMPO VAL PARA USAR

1 Numérico num

2 Cadena (el primer byte contiene la longitud de la cadena) str

4 Booleana (lógica) bool

16 Error: los valores de error son:

0#¡NULO!

7#¡DIV/0!

15#¡VALOR!

23#¡REF!

29#¿NOMBRE?

36#¡NUM!

42#N/A

err

64 Matriz matriz

128 Falta argumento

256 Celda vacía

Los dos últimos valores solo pueden usarse como argumentos, no como valores de retorno. El valor de

argumento no encontrado (128) se pasa cuando quien realiza la llamada omite un argumento. El valor de

celda vacía (256) se pasa cuando quien realiza la llamada pasa una referencia a una celda vacía.

Tipo de datos R. Llamar a funciones de Microsoft Excel desde archivos DLL

El tipo de datos R es un puntero a una estructura XLOPER, que es una versión mejorada de la estructura

OPER. En Microsoft Excel versión 4.0 y posteriores, puede usar el tipo de datos R para crear archivos DLL y

recursos de código que llamen a funciones de Microsoft Excel. Con la estructura XLOPER, una función de

DLL puede pasar referencias de hojas y efectuar control de flujo, además de pasar datos. La descripción

exhaustiva del tipo de datos R y de la interfaz de programación de Microsoft Excel (API) queda fuera del

ámbito de este tema. La guía Microsoft Office XP Developer's Guide (disponible solo en inglés) contiene

información detallada sobre el tipo de datos R, la interfaz de programación de Microsoft Excel (API) y

muchos otros aspectos técnicos de Microsoft Excel.

Funciones volátiles y actualización

Por lo general, Microsoft Excel calcula una función de DLL (o un recurso de código) solo cuando se

especifica en una celda, cuando uno de sus precedentes cambia o cuando la celda se calcula durante una

macro. En una hoja de cálculo puede convertir en volátil una función de DLL o un recurso de código; es

decir, se actualiza cada vez que se actualiza la hoja de cálculo. Para hacer una función volátil, agregue un

signo de exclamación (!) como último carácter del argumento tipo.

Por ejemplo, en Microsoft Excel para Windows, la fórmula de hoja de cálculo siguiente se actualiza cada

vez que se actualiza la hoja de cálculo:

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

Modificar in situ. Funciones declaradas como Void

Puede usar un solo dígito n para el código de tipo devuelto en tipo, donde n es un número del 1 al 9.

Esto indica a Microsoft Excel que modifique la variable en la ubicación indicada por el argumento

enésimo de tipo, en vez de devolver un valor. Esto se conoce también como modificar in situ. El

argumento enésimo debe ser un tipo de datos de pase por referencia (C, D, E, F, G, K, L, M, N, O, P o R). La

función de DLL o el recurso de código debe poder declararse igualmente con la palabra clave void en

lenguaje C (o la palabra clave procedure en lenguaje Pascal).

Por ejemplo, una función de DLL que toma una cadena terminada con carácter nulo y dos punteros a

enteros como argumentos puede modificar la cadena in situ. Use "1FMM" como argumento tipo y

declare la función como void.

Las versiones anteriores a Microsoft Excel 4.0 usaban el carácter > para modificar el primer argumento in

situ: solo se podía modificar el primer argumento. El carácter > es equivalente a n = 1 en Microsoft Excel

versión 4.0 y posteriores.

Directorio de sitios Póngase en contacto con nosotros Enviar comentarios Legal Marcas comerciales Privacidad y cookies Accesibilidad © 2013 Microsoft Corporation. Todos los derechos reservados.