Назовите методы записанными в C# в Excel 2007 от формул ячейки

Не понимайте меня превратно, но: Я думаю, что объявление 1024 как Волшебная Переменная немного заходит слишком далеко, это немного похоже "на $ONE = 1; $TWO = 2"; и т.д.

Килобайт А был ложно объявлен как 1 024 байта больше чем с 20 лет, и я серьезно сомневаюсь, что производители операционной системы будут когда-либо исправлять ту ошибку и изменять ее на 1 000.

, Что могло иметь смысл, хотя должен объявить неочевидный материал, как "$megabyte = 1024 * 1024", так как это более читаемо, чем 1048576.

6
задан Community 23 May 2017 в 12:14
поделиться

3 ответа

Если это ваши четыре требования - (1) Excel 2007 , (2) код в C # DLL, (3) вызов из ячейки Excel как UDF, (4) встроенная интеграция - тогда да, это можно сделать, и довольно легко. Одним из лучших руководств о том, как это сделать, является статья Эрика Картера Написание пользовательских функций для Excel в .NET .

Если вы дополнительно хотите, чтобы ваш код размещался через VSTO, то я практически уверен, что в этом случае вам необходимо использовать оболочку VBA. См. Статью Пола Стаббса Как создавать UDF Excel в управляемом коде VSTO , где он использует надстройку VBA для предоставления UDF VBA, которые, в свою очередь, вызывают его управляемые UDF, написанные на VSTO.

Если честно, однако для пользовательских функций Excel Я бы просто избегал использования VSTO. VSTO - отличный конструктор управляемых надстроек COM, позволяющий легко добавлять элементы управления ленты и тому подобное. Но для UDF это не поможет (и даже не поддерживает). Поэтому я советую создать надстройку управляемой автоматизации, как описано в статье Эрика Картера , и отказаться от требований VSTO.

Если вы сделаете это, у вас не будет проблем, я обещаю. : -)

Майк

2
ответ дан 17 December 2019 в 18:18
поделиться

@ hughdbrown: просто следуйте примеру из статьи Erics. Если вы это сделаете, это сработает. Нет, вы не можете использовать статический класс. создание экземпляра класса .net с помощью COM-оболочки (регистрация его для взаимодействия с com).

0
ответ дан 17 December 2019 в 18:18
поделиться

Хью,

Я понимаю ваше желание иметь «родное» решение, а не «Используйте X-библиотеку с открытым исходным кодом». Но даже VSTO не кажется «родным» для Excel.

Именно ваше требование побудило меня разработать ExcelDna ( http://exceldna.codeplex.com ) после нахождения надстроек автоматизации неадекватный. Поддержка надстроек автоматизации не улучшилась в последних версиях Excel, тогда как API-интерфейс надстройки .xll (который использует ExcelDna) получил обновленную поддержку в последних версиях, теперь поддерживающих многопоточный пересчет, а также с асинхронными вызовами, поступающими в Excel. 2010.

Несмотря на то, что ExcelDna является дополнительной частью вашего решения, вы будете довольны результатом. К сожалению, со стороны Microsoft не было четких указаний по управляемым надстройкам UDF или каких-либо признаков поддержки этого в VSTO, но на практике сделать это с помощью ExcelDna легко, легко и работает очень хорошо.

Говерт

в Excel.

Именно ваше требование привело меня к разработке ExcelDna ( http://exceldna.codeplex.com ) после того, как я обнаружил, что надстройки автоматизации не соответствуют требованиям. Поддержка надстроек автоматизации не улучшилась в последних версиях Excel, тогда как API-интерфейс надстройки .xll (который использует ExcelDna) получил обновленную поддержку в последних версиях, теперь поддерживающих многопоточный пересчет, а также с асинхронными вызовами, поступающими в Excel. 2010.

Несмотря на то, что ExcelDna является дополнительной частью вашего решения, вы будете довольны результатом. К сожалению, со стороны Microsoft не было четких указаний по управляемым надстройкам UDF или каких-либо признаков поддержки этого в VSTO, но на практике сделать это с помощью ExcelDna легко, легко и работает очень хорошо.

Говерт

в Excel.

Именно ваше требование привело меня к разработке ExcelDna ( http://exceldna.codeplex.com ) после того, как я обнаружил, что надстройки автоматизации не соответствуют требованиям. Поддержка надстроек автоматизации не улучшилась в последних версиях Excel, тогда как API-интерфейс надстройки .xll (который использует ExcelDna) получил обновленную поддержку в последних версиях, теперь поддерживающих многопоточный пересчет, а также с асинхронными вызовами, поступающими в Excel. 2010.

Несмотря на то, что ExcelDna является дополнительной частью вашего решения, вы будете довольны результатом. К сожалению, со стороны Microsoft не было четких указаний по управляемым надстройкам UDF или каких-либо признаков поддержки этого в VSTO, но на практике сделать это с помощью ExcelDna легко, легко и работает очень хорошо.

Говерт

Именно ваше требование привело меня к разработке ExcelDna ( http://exceldna.codeplex.com ) после того, как я нашел надстройки автоматизации неадекватными. Поддержка надстроек автоматизации не улучшилась в последних версиях Excel, тогда как API-интерфейс надстройки .xll (который использует ExcelDna) получил обновленную поддержку в последних версиях, теперь поддерживающих многопоточный пересчет, а также с асинхронными вызовами, поступающими в Excel. 2010.

Несмотря на то, что ExcelDna является дополнительной частью вашего решения, вы будете довольны результатом. К сожалению, со стороны Microsoft не было четких указаний по управляемым надстройкам UDF или каких-либо признаков поддержки этого в VSTO, но на практике сделать это с помощью ExcelDna легко, легко и работает очень хорошо.

Говерт

Именно ваше требование привело меня к разработке ExcelDna ( http://exceldna.codeplex.com ) после того, как я обнаружил, что надстройки автоматизации не соответствуют требованиям. Поддержка надстроек автоматизации не улучшилась в последних версиях Excel, тогда как API-интерфейс надстройки .xll (который использует ExcelDna) получил обновленную поддержку в последних версиях, теперь поддерживающих многопоточный пересчет, а также с асинхронными вызовами, поступающими в Excel. 2010.

Несмотря на то, что ExcelDna является дополнительной частью вашего решения, вы будете довольны результатом. К сожалению, со стороны Microsoft не было четких указаний по управляемым надстройкам UDF или каких-либо признаков поддержки этого в VSTO, но на практике сделать это с помощью ExcelDna легко, легко и работает очень хорошо.

Говерт

Поддержка надстроек автоматизации не улучшилась в последних версиях Excel, тогда как API-интерфейс надстройки .xll (который использует ExcelDna) получил обновленную поддержку в последних версиях, теперь поддерживающих многопоточный пересчет, а также с асинхронными вызовами, поступающими в Excel. 2010.

Несмотря на то, что ExcelDna является дополнительной частью вашего решения, вы будете довольны результатом. К сожалению, со стороны Microsoft не было четких указаний относительно управляемых надстроек UDF или каких-либо признаков поддержки этого в VSTO, но на практике сделать это с помощью ExcelDna легко, легко и работает очень хорошо.

Говерт

Поддержка надстроек автоматизации не улучшилась в последних версиях Excel, тогда как API-интерфейс надстройки .xll (который использует ExcelDna) получил обновленную поддержку в последних версиях, теперь поддерживающих многопоточный пересчет, а также с асинхронными вызовами, поступающими в Excel. 2010.

Несмотря на то, что ExcelDna является дополнительной частью вашего решения, вы будете довольны результатом. К сожалению, со стороны Microsoft не было четких указаний по управляемым надстройкам UDF или каких-либо признаков поддержки этого в VSTO, но на практике сделать это с помощью ExcelDna легко, легко и работает очень хорошо.

Говерт

Несмотря на то, что ExcelDna является дополнительной частью вашего решения, вы будете довольны результатом. К сожалению, со стороны Microsoft не было четких указаний по управляемым надстройкам UDF или каких-либо признаков поддержки этого в VSTO, но на практике сделать это с помощью ExcelDna легко, легко и работает очень хорошо.

Говерт

Несмотря на то, что ExcelDna является дополнительной частью вашего решения, вы будете довольны результатом. К сожалению, со стороны Microsoft не было четких указаний относительно управляемых надстроек UDF или каких-либо признаков поддержки этого в VSTO, но на практике сделать это с помощью ExcelDna легко, легко и работает очень хорошо.

Говерт

1
ответ дан 17 December 2019 в 18:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: