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

       

Об операции вставки


 
Оператор Insert вставляет текст в то место документа, где находится IP. Если IP внутри выделенного текста, то этот текст будет замещен вставляемым текстом, если в Сервис·Опции·Редактирование установлен флаг "Режим забивки символов при вводе". Вставляемый текст не форматирован – на него распространяется оформление от текста,
находящегося слева. Если вставляемый текст нужно оформить каким-либо другим способом, то перед вставкой следует применить соответствующее форматирование:
 
Sub MAIN
Bold 1              ' выделить полужирным
Insert "Внимание!"
Bold 0              ' убрать полужирный
Insert "Сравните результат."
End Sub
 
Еще один пример, хорошо иллюстрирующий несколько необычную логику работы WordBasic при выделении части текста:
 


ParaDown 1            ' перейти в конец абзаца;
' ! IP может находиться в середине абзаца
ParaUp 1,1 ' в начало абзаца c выделением его
If Selection$() = Chr$(13) Then
      MsgBox "Пустая строка."
End If
 
Этот фрагмент можно использовать в макрокоманде подсчитывающей число абзацев в документе (пустую строку абзацем не считаем):
 
Sub MAIN
StartOfDocument
Count = 0
While ParaDown()
ParaUp 1, 1
If Selection$() <> Chr$(13) Then Count = Count + 1
ParaDown 1, 0
Wend
MsgBox "Абзацев: " + Str$(Count-1)
End Sub
 
Три специальных формы оператора Insert:
 
InsertSectionBreak
InsertPageBreak
InsertColumnBreak
InsertSectionBreak
 
Синтаксис:
 
InsertSectionBreak
 
Пример.
 
Sub MAIN
FileNewDefault
ViewPage
For count = 1 To 50
Insert "This is a test."
InsertPara
Next count
StartOfDocument
LineDown 15
InsertSectionBreak
LineDown 15
InsertSectionBreak
LineUp 5
WindowArrangeAll
FilePageSetup .TopMargin = "1" + Chr$(34), .BottomMargin = "1" +
Chr$(34), .LeftMargin = "2.75" + Chr$(34), .RightMargin = "2.75" +
Chr$(34)
End Sub

 
 
InsertPageBreak
 
Синтаксис:
 
InsertPageBreak
 
Пример.
 
Sub MAIN
FileNewDefault
For count = 1 To 5
Insert "This is a test of page breaks."
InsertPageBreak
Next count
Insert " This text should be on page 6"
End Sub
 
Оператор InsertColumnBreak
 
Синтаксис:
 
InsertColumnBreak
 
Пример.
 
Sub MAIN
FileNewDefault
ViewPage
FormatColumns .Columns = "2"
For count = 1 To 50
Insert "This is a test."
InsertPara
Next count
StartOfDocument
LineDown 25
InsertColumnBreak
End Sub
 
Следующие операторы не имеют аргументов:
 
InsertSound
InsertWordArt
InsertChart
InsertDrawing
InsertEquation
InsertExcelTable
 
InsertField "quote" + Chr$(34) + Name$ + Chr$(34)
 
InsertDatabase
 
Синтаксис:
 
InsertDatabase [.Format = number] [, .Style = number]
[, .LinkToSource = number] [, .Connection = text]
[, .SQLStatement = text] [, .SQLStatement1 = text]
[, .PasswordDoc = text] [, .PasswordDot = text] [, .DataSource =text] [, .From = text] [, .To = text] [, .IncludeFields = number]
 

Содержание раздела