Excel e VBA – Onde está o código subjacente para funções?

Excel e VBA – Onde está o código subjacente para funções?

Fiquei me perguntando se há algum lugar no Excel, ou online, que eu possa usar para ver como as funções do Excel estão funcionando.

A ideia é que estou começando a aprender como fazer UDFs e fazer várias coisas em VBA, e pensei que se eu pudesse ver como o Excel realmente executa, Sum()por exemplo, poderia aprender como deixar meu código mais compacto, ocupar menos espaço, etc.

Basicamente, onde está o repositório de como funcionam as funções integradas do Excel? Isso está disponível?

Editar: entendo que as fórmulas podem ser escritas em não-VBA. Tudo bem - só estou curioso para saber se existe uma maneira de vê-los, seja qual for o idioma em que estejam escritos.

Edit2: A idéia geral é que estou aprendendo C++/VBA/C# e gostaria de ver funções "oficiais" apenas para aprender como elas funcionam e ver se há alguma maneira de acelerar o código. As funções do OpenOffice também são boas!

Responder1

O Microsoft Excel é um produto de código fechado,
mas como você indicou, o código-fonte alternativo ao Excel também será suficiente.

Você pode examinar oCódigo fontedeOpenOffice Calcque se assemelha muito ao Microsoft Excel (veja as capturas de tela).

Você não precisa instalar o produto. Nopágina de download, concentre-se na seção rotuladaFontee pegue o arquivo comfecho eclairextensão.

Dentro do arquivo, procure no arquivo aoo-4.1.2\main\sc\source\core\tool\interpr4.cxx
e, por volta da linha 3500, você encontrará uma longa caseinstrução mostrando chamadas de funções internas para funções de planilha integradas. Este é o seu ponto de partida.

Então você pode pesquisar os arquivos de origem para implementação dessas funções.

Boa sorte!

Responder2

Em vez disso, eu pediria que você entendesse ológica das funções.Você sabe o que Sumé, isso deve ser fácil de replicar. As coisas que você não conhece - como vlookupou stdevtem algum tipo delógica- seja puramente matemático ou operacional (como transpose). Aprendercomoeles funcionam e, em seguida, projete seu código em torno da lógica.

informação relacionada