Utilizzo delle funzioni RICHIAMA e REGISTRO

Importante :  Il presente articolo è stato tradotto automaticamente, vedere la dichiarazione di non responsabilità. Per visualizzare la versione inglese dell'articolo, fare clic qui.

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 Online.

Contenuto dell'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

In questa sezione verranno descritti i tipi di argomenti e di dati del valore restituito utilizzati dalle funzioni RICHIAMA, REGISTRO e IDENTIFICATORE.REGISTRO. Gli argomenti ed i valori restituiti differiscono leggermente a seconda dell'ambiente operativo. Queste differenze sono annotate nella tabella dei tipi di dati.

Inizio pagina

Tipi di dati

Nelle funzioni RICHIAMA, REGISTRO e IDENTIFICATORE.REGISTRO, l'argomento tipo 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 in tipo specifica il tipo di dati del valore restituito, mentre gli altri caratteri indicano i tipi di dati di tutti gli argomenti. Ad esempio, per una funzione DLL che restituisce un numero a virgola mobile e che utilizza un intero e un numero a virgola mobile come argomenti, tipo dovrebbe essere uguale a "BIB".

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 utilizza un tipo di dati passati per riferimento per il suo valore restituito, sarà possibile passare un puntatore nullo come valore restituito. Il puntatore nullo verrà interpretato come valore di errore #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 corrispondente al tipo del valore restituito è F o G, il valore restituito dalla funzione verrà ignorato. Microsoft Excel ricerca invece il primo tipo di dati corrispondente (F o G) all'interno dell'elenco degli argomenti della funzione, quindi utilizza il contenuto corrente del buffer di stringa allocato come valore restituito. Per l'argomento sono assegnati 256 byte. In questo modo la funzione può restituire una stringa più lunga 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:

Call("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 utilizzavano il carattere > per modificare il primo argomento in posizione. Non era possibile modificare un qualsiasi argomento che non fosse il primo. Il carattere > ha la stessa funzione di n = 1 in Microsoft Excel versione 4.0 e successiva.

Inizio pagina

Nota : Dichiarazione di non responsabilità per la traduzione automatica: Il presente articolo è stato tradotto tramite un software di traduzione automatica e non da una persona. Microsoft offre le traduzioni automatiche per consentire a coloro che non conoscono la lingua inglese di leggere gli articoli sui prodotti, sui servizi e sulle tecnologie Microsoft. Dal momento che l'articolo è stato tradotto automaticamente, potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli.

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

Queste informazioni sono risultate utili?

Grazie per i tuoi commenti e suggerimenti

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

×