Utilizzo delle funzioni RICHIAMA e REGISTRO

Importante: Attenzione    Modifiche improprie al Registro di sistema possono provocare seri danni al sistema operativo, per cui risulterebbe necessaria la reinstallazione. Microsoft non garantisce che i problemi derivanti da modifiche improprie del Registro di sistema vengano risolti. Prima di modificare il Registro di sistema, eseguire il backup dei dati utili. Per informazioni aggiornate su come utilizzare e proteggere il Registro di sistema del computer, vedere la Guida di Microsoft Windows.

Questo articolo descrive la sintassi della formula e l'uso delle funzioni RICHIAMA, REGISTRO e IDENTIFICATORE.REGISTRO in Microsoft Excel.

Nota:  Le funzioni chiamata e registro non sono disponibili in Excel per il Web.

In questo articolo

Descrizione

Tipi di dati

Osservazioni

Informazioni aggiuntive sui tipi di dati

Tipi di dati F e G

Tipo di dati K

Tipo di dati O

Tipo di dati P

Tipo di dati R - Richiamo di funzioni di Microsoft Excel da DLL

Funzioni volatili e ricalcolo

Modifica in posizione - Funzioni dichiarate Void

Descrizione

Di seguito vengono descritti i tipi di dati dell'argomento e del valore restituito usati dalle funzioni chiama, Registere Register.ID . Gli argomenti e i valori restituiti variano leggermente a seconda dell'ambiente operativo in uso e queste differenze sono note nella tabella tipo di dati.

Inizio pagina

Tipi di dati

Nelle funzioni chiamata, Registere Register.ID l'argomento tipo specifica il tipo di dati del valore restituito e i tipi di dati di tutti gli argomenti della funzione DLL o della risorsa codice. Il primo carattere di tipo specifica il tipo di dati del valore restituito. I caratteri rimanenti indicano i tipi di dati di tutti gli argomenti. Ad esempio, una funzione DLL che restituisce un numero a virgola mobile e accetta un numero intero a virgola mobile e come argomenti richiederebbe "BIB" per l'argomento tipo.

La tabella che segue contiene un elenco completo dei codici corrispondenti ai tipi di dati riconosciuti da Microsoft Excel, una descrizione di ciascun tipo di dati, la modalità in cui viene passato l'argomento o il valore restituito e una dichiarazione standard per il tipo di dati nel linguaggio di programmazione C.

Codice

Descrizione

Passato per

Dichiarazione C

A

Valore logico
(FALSO = 0, VERO = 1)

Val

short int

B

Numero IEEE a virgola mobile (8 byte)

Valore
(Windows)

Riferimento (Macintosh)

double
(Windows)

double * (Macintosh)

C

Stringa che termina con il carattere nullo (lunghezza massima della stringa = 255)

Riferimento

char *

D

Stringa contata per byte (il primo byte contiene la lunghezza di una stringa, lunghezza massima della stringa = 255 caratteri)

Riferimento

unsigned char *

E

Numero IEEE a virgola mobile (8 byte)

Riferimento

double *

F

Stringa che termina con il carattere nullo (lunghezza massima della stringa = 255 caratteri)

Riferimento (modifica in posizione)

char *

G

Stringa contata per byte (il primo byte contiene la lunghezza di una stringa, lunghezza massima della stringa = 255 caratteri)

Riferimento (modifica in posizione)

unsigned char *

H

Numero intero senza segno (2 byte)

Val

unsigned short int

I

Numero intero con segno (2 byte)

Val

short int

J

Numero intero con segno (4 byte)

Val

long int

K

Matrice

Riferimento

FP *

L

Valore logico
(FALSO = 0, VERO = 1)

Riferimento

short int *

M

Numero intero con segno (2 byte)

Riferimento

short int *

NUM

Numero intero con segno (4 byte)

Riferimento

long int *

O

Matrice

Riferimento

Vengono passati tre argomenti:
unsigned short int *
unsigned short int *
double [ ]

P

Struttura dati OPER di Microsoft Excel

Riferimento

OPER *

R

Struttura dati XLOPER di Microsoft Excel

Riferimento

XLOPER *

Inizio pagina

Osservazioni

  • Le dichiarazioni del linguaggio C presumono che il compilatore imposti i numeri in doppia precisione di 8 byte, gli interi corti di 2 byte e gli interi lunghi di 4 byte.

  • Nell'ambiente di programmazione di Microsoft Windows tutti i puntatori sono di tipo far. In Microsoft Windows ad esempio è necessario dichiarare il codice del tipo di dati D come unsigned char far *.

  • Tutte le funzioni DLL e le risorse codice vengono richiamate tramite la convenzione di richiamo Pascal. La maggior parte dei compilatori C consente di utilizzare la convenzione di richiamo Pascal aggiungendo la parola chiave Pascal alla dichiarazione della funzione, come illustrato nel seguente esempio: pascal void main (rows,columns,a)

  • Se una funzione usa un tipo di dati di riferimento per il valore restituito, puoi passare un puntatore null come valore restituito. Microsoft Excel interpreterà il puntatore null come #NUM. .

Inizio pagina

Ulteriori informazioni sui tipi di dati

In questa sezione verranno fornite informazioni dettagliate sui tipi di dati F, G, K, O, P ed R ed altre informazioni sull'argomento tipo.

Tipi di dati F e G

Con i tipi di dati F e G, una funzione può modificare un buffer di stringa allocato da Microsoft Excel. Se il codice del tipo di valore restituito è F o G, Microsoft Excel ignora il valore restituito dalla funzione. Microsoft Excel Cerca invece l'elenco degli argomenti della funzione per il primo tipo di dati corrispondente (F o G) e quindi accetta il contenuto corrente del buffer di stringa allocato come valore restituito. Microsoft Excel alloca 256 byte per l'argomento, quindi la funzione potrebbe restituire una stringa più grande rispetto a quella ricevuta.

Inizio pagina

Tipo di dati K

Il tipo di dati K utilizza un puntatore a una struttura FP di dimensioni variabili. Questa struttura deve essere definita nel DLL o nella risorsa codice nel seguente modo:

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

La dichiarazione double array[1] alloca la memoria solo per una matrice a un singolo elemento. Il numero di elementi nella matrice vera e propria è uguale al numero delle righe moltiplicato per il numero delle colonne.

Inizio pagina

Tipo di dati O

Il tipo di dati O può essere utilizzato solo come argomento e non come valore restituito. Questo tipo di dati passa tre elementi: un puntatore al numero di righe di una matrice, un puntatore al numero di colonne di una matrice e un puntatore a una matrice bidimensionale di numeri a virgola mobile.

Una funzione può modificare una matrice passata per tipo di dati O invece di restituire un valore. A tal fine, è possibile utilizzare ">O" come argomento tipo. Per ulteriori informazioni, consultare "Modifica in posizione - Funzioni dichiarate Void" più avanti in questa sezione.

Il tipo di dati O è stato creato per compatibilità diretta con i DLL Fortran, i quali passano gli argomenti per riferimento.

Inizio pagina

Tipo di dati P

Il tipo di dati P è un puntatore a una struttura OPER. La struttura OPER contiene 8 byte di dati, seguiti da un identificatore a 2 byte che specifica il tipo di dati. Con il tipo di dati P, una funzione DLL o una risorsa codice può accettare e restituire qualsiasi tipo di dati di Microsoft Excel.

La struttura OPER viene definita nel seguente modo:

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;

Il campo tipo contiene uno dei seguenti valori.

Tipo

Descrizione

Campo val da utilizzare

1

Numerico

num

2

Stringa (il primo byte contiene la lunghezza di stringa)

str

4

Booleano (valore logico)

bool

16

Errore: i valori di errore sono:

0#NULLO!

7#DIV/0!

15#Valore!

23#RIF!

29#NOME?

36#NUM!

42#N/D

err

64

Matrice

array

128

Argomento mancante

256

Cella vuota

Gli ultimi due valori possono essere utilizzati solo come argomenti e non come valori restituiti. Il valore dell'argomento mancante (128) viene passato quando nel richiamo viene omesso un argomento. Il valore della cella vuota (256) viene passato quando il richiamo passa un riferimento a una cella vuota.

Inizio pagina

Tipo di dati R - Richiamo di funzioni di Microsoft Excel da DLL

Il tipo di dati R è un puntatore a una struttura XLOPER, la quale è una versione avanzata della struttura OPER. In Microsoft Excel versione 4.0 e successiva, è possibile utilizzare il tipo di dati R per scrivere file DLL e risorse codice che richiamino le funzioni di Microsoft Excel. Con la struttura XLOPER, una funzione DLL può passare riferimenti di foglio ed eseguire un controllo di flusso oltre che passare i dati. Non è scopo di questa appendice fornire una descrizione completa del tipo di dati R e delle API di Microsoft Excel. Nel Manuale dello sviluppatore di Microsoft Office XP sono contenute informazioni dettagliate relative al tipo di dati R, alle API di Microsoft Excel e a numerosi altri aspetti tecnici di Microsoft Excel.

Inizio pagina

Funzioni volatili e ricalcolo

In genere, una funzione DLL o una risorsa codice viene calcolata solo quando viene immessa in una cella, quando viene modificata una delle celle precedenti o quando la cella viene calcolata durante l'esecuzione di una macro. In un foglio di lavoro è possibile rendere volatile una funzione DLL o una risorsa codice, il che significa che essa viene ricalcolata ogni volta che viene ricalcolato il foglio di lavoro. Per rendere volatile una funzione, aggiungere un punto esclamativo (!) come ultimo carattere dell'argomento tipo.

Ad esempio, in Microsoft Excel per Windows la seguente formula del foglio di lavoro viene ricalcolata ogni volta che viene ricalcolato il foglio di lavoro:

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

Inizio pagina

Modifica in posizione - Funzioni dichiarate Void

È possibile utilizzare una singola cifra n per il codice del tipo di restituzione in tipo, dove n è un numero da 1 a 9. Questo fa sì che venga modificata la variabile nella posizione a cui fa riferimento l'n-esimo argomento in tipo invece che venga restituito un valore. Questa operazione è anche definita modifica in posizione. L'n-esimo argomento deve essere un tipo di dati passato per un riferimento (C, D, E, F, G, K, L, M, N, O, P o R). La funzione DLL o la risorsa codice deve anche essere dichiarata con la parola chiave void nel linguaggio C oppure con la parola chiave procedure nel linguaggio Pascal.

Ad esempio, una funzione DLL che riconosce una stringa che termina con il carattere nullo e due puntatori a numeri interi come argomenti può modificare la stringa in posizione. Utilizzare "1FMM" come argomento tipo e dichiarare la funzione Void.

Le versioni precedenti a Microsoft Excel 4,0 usavano il carattere > per modificare il primo argomento in posizione; non è possibile modificare argomenti diversi da quelli prima. Il carattere > è equivalente a n = 1 in Microsoft Excel versione 4,0 e versioni successive.

Inizio pagina

Nota:  Questa pagina è stata tradotta automaticamente e potrebbe contenere errori di grammatica o imprecisioni. L'intento è quello di rendere fruibile il contenuto. Queste informazioni sono risultate utili' Questo è l'articolo in inglese per riferimento.

Amplia le tue competenze su Office
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×