В чем разница между VB против VBA? - PullRequest
6 голосов
/ 12 ноября 2011

Я работаю над этим проектом (надстройка) для Excel 2007. Он использует ячейки aspose для этой цели, а также C #.Я не писал код, но принял проект от кого-то еще.Так что я все еще изучаю часть Excel, так как знаю только C #.Я заметил, что есть некоторый код для создания книги / рабочего листа.Как узнать, написано ли оно на VB или VBA, чтобы я мог его изучить? Расширения файлов: .cls, .frm, .bas и т. Д. Я использую Visual Studio 2010.

Также рабочая книга /Рабочие листы защищены паролем после создания. Когда я пытался изменить пароль с помощью кода VB / VBA (каким бы он ни был), он создает ошибки при сборке, такие как ожидаемый идентификатор, ожидаемое объявление и т. д. Но когда я отменил изменения, все ошибки исчезли,Единственное изменение, которое я сделал, было изменение строки, в которой сохранен пароль.(строка «пароль» была изменена на «пароль1»), и внезапно другие строки кода начали получать ошибки. Ошибки - это ожидаемый идентификатор, ожидаемое объявление и т. д., и это не имеет смысла для меня.Поэтому мне пришлось сменить пароль через C # после того, как он был защищен паролем через VB / VBA.Кроме того, как я отлаживаю код VB / VBA.Я пытался поставить точки останова через VS2010, но он не ударил их при запуске проекта. Я уверен, что рабочие листы создаются с использованием VB / VBA и поэтому он попадает внутрь этих кодов, но не могу отладить.

Я открываюНадстройка с использованием Visual Studio2010 и вот как работают с кодом, C # и VB / VBA. Я ничего не изменяю с помощью Alt + F11.

Ответы [ 2 ]

2 голосов
/ 13 ноября 2011

.cls, .frm и .bas - файлы VBA.Я предлагаю вам попробовать отладить код в Excel, используя VBE (Visual Studio, эквивалентный VBA).В этой среде довольно просто отлаживать.

Разница между VB (VB.Net) и VBA довольно большая.При этом VBA является довольно простым языком, поэтому, если вам удалось понять C #, я уверен, что вы сможете изучить VBA с небольшим чтением и экспериментами.

Если у вас есть вопрос оФактический код, я предлагаю вам опубликовать его как отдельный вопрос.:)

0 голосов
/ 12 ноября 2011

Как добраться до кода?Если через Excel с помощью VBE, например, нажав Alt + F11, то это VBA.Если вы открываете проект, то это, вероятно, VB (VB6).Обратите внимание, что VB.NET использует расширение .vb.Более того, поскольку VBA является подмножеством VB, тогда, если вы экспортируете VBA из проекта VBE, экспортируемые файлы по умолчанию имеют расширения файлов их двоюродного брата VB.

Нам действительно нужно знать, как вы получите код.*

Как я уже сказал, VBA (6.x) является подмножеством VB6.Часть Excel - это просто объектная модель, использующая VBA.VB.NET отличается и не так, потому что неправильные расширения файлов.

Поэтому сконцентрируйтесь на изучении VBA и объектной модели Excel 2007

MSDN Поиск VBA на http://social.msdn.microsoft.com/Search/en-US?query=VBA&ac=8.

Создание макросов VBA для управления рабочими листами в Excel 2007 в http://msdn.microsoft.com/en-us/library/dd553655(v=office.12).aspx.

Эта статья Взаимодействие VBA с инструментами Visual Studio для Office System (3.0) на http://msdn.microsoft.com/en-us/library/bb931201(v=office.12).aspx должно помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...