Applies ToExcel per Microsoft 365 Excel per Microsoft 365 per Mac Excel per il web Excel 2024 Excel 2024 per Mac Excel 2021 Excel 2021 per Mac Excel 2019 Excel 2016 Excel per iPad Excel per iPhone Excel per tablet Android Excel per telefoni Android

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 RICHIAMA e REGISTRO non sono disponibili in Excel per il Web.

In questo articolo

Descrizione

Di seguito vengono descritti i tipi di dati dell'argomento e del valore restituito usati dalle funzioni RICHIAMA, REGISTRO e REGISTER.ID . Gli argomenti e i valori restituiti variano leggermente a seconda dell'ambiente operativo e queste differenze sono annotate nella tabella dei tipi di dati.

Inizio pagina

Tipi di dati

Nelle funzioni RICHIAMA, REGISTRO e REGISTER.ID l'argomento type_text specifica il tipo di dati del valore restituito e i tipi di dati di tutti gli argomenti per la funzione DLL o la risorsa codice. Il primo carattere di type_text 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 e un numero a virgola mobile come argomenti richiederebbe "BIB" per l'argomento type_text.

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 pass-by-reference per il relativo valore restituito, è possibile passare un puntatore Null come valore restituito. Il puntatore Null verrà interpretato da Microsoft Excel come il #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 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 nell'elenco degli argomenti della funzione il primo tipo di dati corrispondente (F o G) e quindi accetta il contenuto corrente del buffer stringa allocato come valore restituito. Microsoft Excel alloca 256 byte per l'argomento, quindi la funzione può restituire una stringa più grande di 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 c'era modo di modificare qualsiasi argomento diverso dal primo. Il carattere > equivale a n = 1 in Microsoft Excel versione 4.0 e successive.

Inizio pagina

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.