Le funzioni definite dall'utente nel componente aggiuntivo di automazione si comportano in modo diverso Excel 2007

StackOverflow https://stackoverflow.com/questions/609402

Domanda

Ho creato un componente aggiuntivo di automazione in C # .NET e ho uno shim dll per questo. Il shim dll contiene tutti i metodi definiti dall'utente che chiamano l'appropriato metodi nell'assembly .NET.

Il problema che sto affrontando è legato a Excel 2007.

In Excel 2003, 1. Aggiungi una nuova forma a un foglio di lavoro 2. Inserisci > > Funzione > > SOMMA. Viene visualizzata la finestra di dialogo Argomenti della funzione 3. fare clic sulla forma appena inserita anziché su una cella Nota: non succede nulla e nessun valore di cella viene inserito automaticamente in riquadro degli argomenti

Ora in Excel 2007, 1. Inserisci una nuova forma 2. Scheda Formule Ribbon > > Inserisci funzione > > SOMMA. Finestra di dialogo Argomenti funzione viene fuori 3. Fare clic sulla forma appena inserita Nota che ora viene visualizzata una finestra di dialogo di errore che dice " La formula che hai digitato contiene un errore "

Viene visualizzata questa finestra di dialogo per una funzione predefinita (SUM). Se seleziono il mio dall'elenco al posto di SUM, la finestra di dialogo di errore non viene visualizzata e la finestra di dialogo Argomento della funzione scompare. La cella quindi mostra un errore SmartTag.

C'è qualcosa che deve essere inserito nella dll SHIM per ogni funzione? Come un attributo o qualcosa che visualizzerà questa finestra di errore. O forse qualche valore speciale che viene restituito dal metodo per dire che l'argomento ha generato un errore.

Le funzioni definite nello shim COM sono come:

STDMETHOD(GetArea)(MyExcelAddIn::Range *r, double *pRetVal)
{
   return m_pMyUDF->GetArea(r, pRetVal);
}
È stato utile?

Soluzione

Ho contattato Microsoft e hanno confermato che si tratta di un bug nel prodotto Excel. Pubblicherò il link del bug quando lo ottengo da loro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top