4

Можете ли вы использовать другие языки вместо макросов VB для Excel?

4 ответа4

3

Да, в Python можно написать макрос Excel:

http://www.pyxll.com/docs/macros.html

Кстати, вы даже можете редактировать существующие макросы в Python:

https://stackoverflow.com/questions/9913603/is-it-possible-create-edit-an-excel-macro-from-python

3

Другой вариант - C # с использованием .NET. Проверьте эту ссылку:

http://excel-dna.net/

Я не использовал это много, но это может стоить попробовать.

1

Важно отметить, что, поскольку фактически все возможности автоматизации Excel, доступные для VBA, фактически обслуживаются через интерфейс COM , вы можете использовать любой язык, который поддерживает объекты Windows COM (ActiveX). Это примерно переводится практически на все современные языки программирования на планете. Я лично успешно использовал Excel от Wolfram Research Mathematica и чистый C++. Если у вас нет специализированной библиотеки для работы с иерархией объектов Excel (например, та, которая, как я предполагаю, существует для Python), это может быть не так хорошо, как использовать с родным VB.

Visual Basic 6 (и Visual Basic для приложений) были разработаны с учетом соответствия архитектуре COM. Это означает, что большинство типов данных, определенных для COM, являются родными для Excel, и их не нужно преобразовывать при каждом вызове. Поэтому я подозреваю, что обработка Excel из VBA является наиболее эффективной.

1

Вы можете использовать C # для создания команд и функций Excel с моей надстройкой ESharper . Код может быть отредактирован и выполнен непосредственно в сеансе Excel.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .