Jump to content

Office (VBA) и Office (C#)


Recommended Posts

Для программирования в приложениях MS Office используется родной язык VBA.

1) Можно ли на C# сделать всё, что можно сделать на VBA ?

2) Существует ли Office, работающий на .net ?

Если нет, то не приходилось ли вам сталкиваться с сообщениями на эту тему ?

3) Если у Microsoft есть в планах перевести Office на .net, то не будет ли C# основным языком

для программирования под Office ? И что станет с VBA ?

Если кто-нибудь что-нибудь знает или слышал, сообщите пожалуйста.

Link to comment
Share on other sites

Fastum:

В будущем Microsoft планирует заменить VBA на Visual Studio Tools for Applications (VSTA) — инструментарий расширения функциональности приложений, основанный на Microsoft .NET.
(http://ru.wikipedia.org/wiki/VBA)

В англоязычном варианте Википедии об этом сказано немного подробнее:

VSTA is licensed from Microsoft depending on the usage scenarios for redistribution with applications. Office 2007 applications continue to integrate with VBA, except for InfoPath 2007 which integrates with VSTA.
(http://en.wikipedia.org/wiki/Visual_Basic_for_Applications)
1) Можно ли на C# сделать всё, что можно сделать на VBA ?
VBA работает во всех приложениях Office, C# - только в InfoPath в последней версии Office.
2) Существует ли Office, работающий на .net ?
Пока нет.
3) Если у Microsoft есть в планах перевести Office на .net, то не будет ли C# основным языком для программирования под Office ? И что станет с VBA ?
Это вопрос следует адресовать Биллу Гейтсу. Скорее всего VB и C# будут долгое время существовать параллельно, в VSTA входят оба языка. VBA, по-видимому, перейдет в VB для VSTA. Basic - любимый язык Гейтса, с него он начинал свою карьеру и до сих пор свято хранит верность этому языку. Хотя в последних версиях Visual Basic сильно приблизилcя к языкам группы C++ и C#. В среде .NET программы на VB и C# предварительно переводятся в один и тот же промежуточный язык. Есть даже конвертеры между этими языками. Edited by Тролль
Link to comment
Share on other sites

1) Можно ли на C# сделать всё, что можно сделать на VBA ?

Это возможно. Если мне не изменяет память VBA всего лишь предоставляет удобный доступ к ActiveX интерфейсам Офиса. Соответственно вызывать функции возможно из любого средства, поддерживающего ActiveX.

Никаких темных мест, вроде GhostMethod_xxx как в Windows Media Player, не встречал.

Вот пример, где описывается как это делать из C# http://blogs.techrepublic.com.com/howdoi/?p=190

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...