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


Оператор CopyFile


CopyFile позволяет переписать указанный файл в другой каталог. Синтаксис и работа этого оператора аналогичны команде COPY в MS-DOS.
Синтаксис:

CopyFile ИмяФайла$, Каталог$
 
Если в аргументе ИмяФайла$ не указан дисковод или имя файла, то он копируется из текущего каталога. В параметре Каталог$ следует указать полный путь до данного каталога. Если в каталоге, куда копируется файл, уже существует файл с таким же именем, то появится запрос, хотите ли вы его заменить.
Следующая макрокоманда скопирует файл WINBAS3.DOC из каталога C:\EDWARD в каталог A:\SAVE:
 
Sub MAIN
CopyFile "C:\edward\winbas3.doc", "A:\save"
End Sub
 
GetAttr()
 
Программирование диалогов (Занятие №5)
 
Начнём как обычно с примера из повседневной жизни. Мне потребовалось “втащить” в Word файл из базы данных, в которой записи состояли из двух полей: текстового и числового. Так как записи между собой ничем не разделены и имеют разную длину, то разделить их могла помочь только макрокоманда. Вручную это заняло бы неделю. Вот эта макрокоманда, по примеру которой вы можете решать свои задачи подобного типа.
В ней по всему тексту ищется начало строки, начинающейся с прописной латинской буквы "A". Затем проверяется, предшествует ли найденной букве цифра и, если "да", между ними вставляется символ "возврат каретки". Затем всё повторяется для следующей буквы алфавита и т. д.
Sub MAIN
For i = 0 To 25
StartOfDocument
While Not AtEndOfDocument()
  EditFind .Find = Chr$(65 + i), .MatchCase = 1, .WholeWord = 0
  If EditFindFound() = - 1 Then
     CharLeft 2, 0 ' выделить предшествующий знак
     CharRight 1, 1
     b$ = Selection$()
     CharRight 1, 0
     If (B$ >= "0") And (B$ <= "9") Then Insert Chr$(10)
     CharRight 3, 0  ' продолжить поиск
  Else
     Goto eloop
  EndIf
 Wend
eloop:
 Print i
 Next i
End Sub
В отличие от профессионального программирования, на языке WordBasic приходится писать от случая к случаю, когда в этом возникает реальная потребность.


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