Pergunta

Eu criei um automação suplemento em C # .NET e ter uma dll calço para ele. o calço dll tem todo o User Defined métodos nele que chama o apropriado métodos na montagem .NET.

O problema que estou enfrentando está relacionado ao Excel 2007.

No Excel 2003, 1. Adicione uma nova forma para uma planilha 2. Insira >> Função >> SUM. O diálogo Argumentos da função vem 3. Clique sobre a forma recém-inserido em vez de uma célula Nota: Nada acontece e nenhum valor célula é inserido automaticamente no caixa de argumento

Agora, no Excel 2007, 1. Insira uma nova forma 2. Fita Fórmulas Tab >> Inserir função >> SUM. diálogo Argumentos da função surge 3. Clique sobre a forma recém-inserido Note que agora um diálogo de erro é exibida dizendo "A fórmula digitada contém um erro "

Esta caixa de diálogo aparece para uma função pré-definida (SUM). Se eu selecionar o meu função a partir da lista no local de SUM, o diálogo de erro não é exibido e o diálogo Função Argumento simplesmente desaparece. A célula, em seguida, mostra um erro SmartTag.

Existe algo que precisa ser colocado na dll SHIM para cada função? Como um atributo ou algo que vai exibir este diálogo de erro. Ou talvez algum valor especial que é retornado pelo método de dizer que o argumento tem gerado um erro.

A função definida no COM calço são como:

STDMETHOD(GetArea)(MyExcelAddIn::Range *r, double *pRetVal)
{
   return m_pMyUDF->GetArea(r, pRetVal);
}
Foi útil?

Solução

entrei em contato com a Microsoft e eles confirmaram que este é um bug no produto Excel. Vou postar o link bug quando eu obtê-lo a partir deles.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top