Поделиться через


Преобразование макросов WordBasic в Visual Basic

Word 2003 и Word 2007 автоматически преобразуют макросы в шаблон Word 6.x или Word 95 при первом выполнении следующих действий:

  • Открытие шаблона

  • Создание документа на основе шаблона

  • Добавление шаблона к документу вручную

Сообщение отображается в строке состояния при преобразовании макросов. После завершения преобразования необходимо сохранить шаблон, чтобы сохранить преобразованные макросы. Если вы не сохраните шаблон, Word снова преобразует макросы при следующем использовании шаблона.

Примечание Не удается преобразовать макросы Word 2.x напрямую. Вместо этого необходимо открыть и сохранить шаблоны Word 2.x в Word 6.x или Word 95, а затем открыть их в Word.

Процесс преобразования преобразует каждый макрос в модуль Visual Basic. Чтобы просмотреть преобразованные макросы, нажмите клавиши ALT-F8. Имена макросов в диалоговом окне Макросы отображаются как имя макроса. Main, где Main ссылается на основную подпрограмму в преобразованном макросе (подпрограмма, начинающаяся с Sub MAIN в более ранних версиях Word). Чтобы изменить преобразованный макрос, выберите имя макроса и нажмите кнопку Изменить , чтобы отобразить модуль Visual Basic в редакторе Visual Basic. Каждая инструкция WordBasic изменяется для работы с Visual Basic для приложений. Преобразованные макросы WordBasic функционально эквивалентны новым Visual Basic для приложений макросам, которые можно записывать или записывать, но они не идентичны. В следующем примере показан макрос WordBasic в шаблоне Word 95.

Sub MAIN 
FormatFont .Name = "Arial", .Points = 10 
Insert "Hello World" 
End Sub

При открытии шаблона в Word макрос преобразуется в следующий код.

Public Sub Main() 
WordBasic.FormatFont Font:="Arial", Points:=10 
WordBasic.Insert "Hello World" 
End Sub

Каждая инструкция в преобразованном макросе начинается со свойства WordBasic . WordBasic — это свойство в объектной модели Word, которое возвращает объект со всеми операторами и функциями WordBasic; этот объект позволяет запускать макросы WordBasic в Word.

Примечание Если сохранить шаблон по сравнению с исходным шаблоном, макросы WordBasic будут потеряны навсегда, а предыдущие версии Word не смогут использовать преобразованные макросы.

Следующий макрос Visual Basic функционально совпадает с предыдущим макросом WordBasic, но не использует свойство WordBasic .

Public Sub Main() 
 With Selection.Font 
 .Name = "Arial" 
 .Size = 10 
 End With 
 Selection.TypeText Text:="Hello World" 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.