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

3

Eu queria saber se há algum lugar no Excel, ou on-line, que eu possa usar para ver como as Funções no Excel estão funcionando.

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

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

Edit: Eu entendo que as fórmulas podem ser escritas em não-VBA. Tudo bem - só estou curioso para saber se há uma maneira de vê-los, qualquer que seja a linguagem em que estão escritos.

Edit2: A ideia geral é que eu 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!

    
por BruceWayne 17.06.2016 / 21:42

2 respostas

3

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

Você pode examinar o código-fonte de OpenOffice Calc , que se assemelha muito ao Microsoft Excel (veja capturas de tela).

Você não precisa instalar o produto. Na página de download , concentre-se na seção Origem e pegue o arquivo com zip extensão .

Dentro do arquivo, procure no arquivo aoo-4.1.2\main\sc\source\core\tool\interpr4.cxx
e lá, na linha 3500, você pode encontrar a declaração case longa mostrando as chamadas de função interna para funções de planilha incorporadas. Este é o seu ponto de partida.

Em seguida, você pode pesquisar os arquivos de origem para a implementação dessas funções.

Boa sorte!

    
por 17.06.2016 / 22:57
1

Em vez disso, gostaria que você entendesse a lógica das funções. Você sabe o que é um Sum , que deve ser fácil para você replicar. As coisas que você não conhece - como vlookup ou stdev têm algum tipo de lógica - sejam puramente matemáticas ou operacionais (como transpose ). Aprenda como trabalham e desenhe seu código em torno da lógica.

    
por 18.06.2016 / 11:04