Где я начинаю с VBA и программированием макросов в Word 2007?

Я просто узнал те макросы в Word/Excel/PowerPoint, может быть запрограммирован. Это является потрясающим, потому что я перебрасываюсь парой слов документ с 70 таблицами для моделирования.

Я - программист, но я не знаю VB, VBA или.NET VB. Я перепутан с этими тремя. Я знаком с программированием.NET с помощью C#. Теперь я хочу записать новые макросы. Где я должен начать? Что такое VB, VBA, VB.NET и какой я должен изучить? Предложите некоторый материал.

Если я учусь для Word 2007, который поможет с другой жизнью Офисных приложений Excel & PowerPoint?

5
задан Robert Harvey 29 October 2011 в 01:22
поделиться

3 ответа

Здесь есть несколько хороших ответов - я хотел бы предложить еще один набор предложений:

Во-первых, если это поддерживается в вашей среде, вы можете использовать Visual Studio 2005/8/10 и ваши навыки C# для программирования против Office с помощью "Visual Studio Tools for Office". См. эту тему для более подробной информации.

Если вы хотите вместо этого углубиться в VBA (который лично мне нравится, потому что разработка в нем идет очень быстро по сравнению с VS), начните с этой статьи Десять преобразований кода для VBA, Visual Basic .NET и C# в которой вы найдете примеры из всех трех языков. Затем посмотрите эту веб-передачу: Использовать Visual Basic for Applications (VBA) каждый день проще, чем вы думаете.

В-третьих - MSDN, прочитайте это: Начало работы с VBA в Word 2010. 99% этой статьи применимо к Word 2007. Есть много других статей, связанных с этой, или вы всегда можете перейти на главную страницу Office VBA Developer Center как на одну страницу для перехода.

Затем, вероятно, пришло время приступить непосредственно к программированию. Посмотрите, как все работает, изучите объектную модель Word и т.д. Вы всегда можете просмотреть SO под тегом word-vba , чтобы увидеть, что другие люди пытаются сделать и ответы.

5
ответ дан 18 December 2019 в 16:35
поделиться

Вот краткое объяснение различных основ Visual:

  • Visual Basic 6 (VB6 или классический VB)
    • Выпущенная примерно в 1998 году, это была последняя версия оригинального Visual Basic от Microsoft. Он имеет истоки объектно-ориентированной разработки, но для запуска приложений требуется среда выполнения Visual Basic. Многие компании использовали VB6 для внутренних бизнес-приложений.Его заменили VB.NET и .NET Framework.
  • Visual Basic для приложений (VBA)
    • VBA использует ту же кодовую базу, что и VB6, и в 1996 году разработчики могли лицензировать ее для включения в свои собственные приложения. Так выглядит VBA в Microsoft Office как встроенный язык, который можно использовать для управления различными приложениями Office. Важно помнить, что VBA, который до сих пор используется для кодирования офисных приложений, исполнилось более десяти лет и может казаться таковым, когда вы привыкли работать с .NET.
  • Visual Basic .NET (VB.NET)
    • VB.NET был радикальным отходом от VB6. Хотя последующие итерации VB.NET упоминались последовательно (например, VB7, VB8 и т. Д.) Многими разработчиками, VB.NET очень мало имеет общего с VB6 и VBA, кроме синтаксиса BASIC. Многие считают это скорее новым развитием BASIC, чем развитием Visual Basic. Поскольку он полностью отличается от VBA и VB6, вы не можете не использовать код VB.NET непосредственно в VBA.
    • Поскольку код VB.NET компилируется до того же управляемого кода промежуточного языка, что и C #, и использует те же API .NET, вы можете почувствовать большую общность между C # и VB.NET, чем VB6 и VB.NET с точки зрения программирования.

Если вы планируете много разрабатывать VBA, я настоятельно рекомендую Руководство разработчика VBA, второе издание , написанное Гетцем и Гилбертом.

Изучение синтаксиса VBA для Word, безусловно, поможет вам, когда вы перейдете к использованию Excel, Access и т. Д. Однако каждое приложение имеет свой собственный API, который предоставляет набор объектов и методов, уникальных для его домена.Например, я хорошо знаком с программированием на VBA в Excel и Access, но никогда не занимался программированием макросов в Word. Хотя синтаксис кода был бы таким же, мне пришлось бы изучить API Word, чтобы иметь возможность программировать против него.

Хорошая особенность некоторых приложений Office (например, Excel) заключается в том, что вы можете записать макрос, посмотреть, какой код он генерирует, а затем настроить этот код, чтобы делать то, что вы хотите. Во многом именно так я начал заниматься программированием.

5
ответ дан 18 December 2019 в 16:35
поделиться

У вас всегда есть MSDN .
Если вы перейдете в Microsoft Word> Разработчик> Visual Basic и откроете ThisDocument в левом меню, у вас будет редактор. Если вы нажмете F2 , вы получите библиотеки, которые можно использовать в Microsoft Word (обозреватель объектов). Самая простая программа была бы следующей:

Sub Hello()
    MsgBox "Hello World"
End Sub

Когда вы отметили подпрограмму, нажмите F5 (для запуска).

В обозревателе объектов у вас будет три разных объекта, свойства, функции и события. Когда вы видите что-то, что вас заинтересует, перейдите по ссылке для слова vba и найдите его.
[Если ссылка изменится, ее можно будет найти в дереве в разделе Библиотека MSDN> Разработка Office> Система Microsoft Office 2007> Word 2007> Справочник разработчика Word 2007> Справочник по объектной модели Word]

Я думаю, что проще всего нужно определить проблему, которую нужно исправить, и попытаться запрограммировать ее , как при изучении любого другого языка. Не упрощайте задачу, но не усложняйте ее, чтобы вы сдались.

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

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