Можно просмотреть исходный код или декомпилировать XLL Excel добавить в

Можно ли просмотреть исходный код надстройки XLL Excel, не имея исходного исходного кода? Я предполагаю, что этот XLL был написан на C#, но не уверен. т.е. .NET DLL, которую можно декомпилировать с помощью dotPeek, или файл XLA, который можно открыть в Excel через Developer > Visual Basic. Я пробовал оба подхода без везения.


person Hoppe    schedule 30.06.2015    source источник
comment
Вы искали исходный код? Исходный код библиотеки надстроек Excel XLL. Кстати, это С++.   -  person Tim    schedule 30.06.2015
comment
Теперь есть :) но ничего не нашел :( @Tim   -  person Hoppe    schedule 30.06.2015


Ответы (2)


Знаете ли вы, была ли эта надстройка Excel создана с использованием Excel-DNA? Если да, то вы можете извлечь сборки .NET из файла .XLL с помощью ExcelDnaUnpack.

Исходный код находится на GitHub: https://github.com/augustoproiete/ExcelDnaUnpack.

Вы можете скачать ExcelDnaUnpack.exe (скомпилированный инструмент, готовый к использованию) на вкладке Releases проекта на Гитхаб.


ExcelDnaUnpack – это утилита командной строки для извлечения содержимого надстройки ExcelDna. файлы, упакованные с помощью ExcelDnaPack

Usage: ExcelDnaUnpack.exe [<options>]

Where [<options>] is any of:

--xllFile=VALUE    The XLL file to be unpacked; e.g. MyAddIn-packed.xll
--outFolder=VALUE  [Optional] The folder into which the extracted files will be written; defaults to '.\unpacked'
--overwrite        [Optional] Allow existing files of the same name to be overwritten

Example: ExcelDnaUnpack.exe --xllFile=MyAddins\FirstAddin-packed.xll
         The extracted files will be saved to MyAddins\unpacked
person C. Augusto Proiete    schedule 30.11.2015

В качестве общего ответа: XLL написаны с использованием Excel C Api, на самом деле они являются стандартными dll. Когда вы создаете xll, вы в основном создаете dll и переименовываете расширение, чтобы превратить его в .xll. Таким образом, ваш вопрос фактически возобновляется на этот вопрос: Как декомпилировать dll С++?

person Malick    schedule 14.11.2015