Язык WordBasic - практический подход


Оператор CopyFile - часть 2


Поэтому детали языка, содержащего в последней версии более 600 операторов, забываются и под рукой желательно иметь какой-либо справочник, в частности, WordBasic Reference. К сожалению, этот встроенная справочная система в Word 7 для Windows 95 (как в Word 6.0) не переведена на русский язык при локализации, тем не менее, я рекомендую обязательно указывать её при инсталляции этого пакета.
Второй процесс, доставляющий немало мучений -- отладка макрокоманды. Для отладки следует загрузить в качестве тестового примера фрагмент или копию документа, к которому вы хотите применить разрабатываемый макрос. Как правило работа макрокоманды очень наглядна из-за перемещения курсора, выделения, удаления и вставок текста и других действий. Поэтому макрокоманду удобно отлаживать в пошаговом режиме предварительно выбрав в меню Окно
пункт Расположить все. Тогда в двух окнах на экране одновременно видно и исполняемую строку макрокоманды и результат её действия над текстом документа.
Следующая макрокоманда позволяет выделить полезную информацию из строки, где ей предшествует нечто, обозначенное в строке поиска как признак1, а после неё следует признак2, например так:
Всё что угодно
признак1
нужные данные признак2 всё что угодно
Обратите внимание на работу операторов StartOfLine и EndOfLine с признаками выделения текста.
Sub MAIN
StartOfDocument
 While Not AtEndOfDocument()
  StartOfLine
  EditFind .Find = "признак1", .Direction = 0, \
      .WholeWord = 0, .MatchCase = 1
  If EditFindFound() Then
    EditCut
    StartOfLine 1
    EditCut
  End If
  EditFind .Find = "признак2", .Direction = 0, \
      .WholeWord = 0, .MatchCase = 1
  If EditFindFound() Then
     EditCut
     EndOfLine 1
     EditCut
  End If
  LineDown
 Wend
End Sub
На третьем занятии были кратко рассмотрены операторы Print и MsgBox, используемые для взаимодействия с пользователем из макрокоманды.
Оператор Print может применяться для вывода в файл, на принтер или, по умолчанию, в строку статуса на экране.


Начало  Назад  Вперед