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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

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