середа, 23 жовтня 2013 р.

Подсчёт символов в LibreOffice Writer

Макрос для подсчёта количества символов в текстовом редакторе:
REM  *****  BASIC  *****

Sub Main

' для Lemojoe:
' Имеется текст. Необходим вывод на информационной табличке статистических данных:
' количество знаков с пробелами, количество знаков без пробелов. Чтобы подсчет
' можно было произвести в любой момент работы над документом.

   Dim doc as object
   Dim controller as object
   Dim textviewcursor as object ' всякие объекты там... не важно
   Dim letters as String ' выделенная строка с текстом
   Dim gap as Integer ' число пробелов
   Dim cursign as String ' текущий значок
   dim break as Integer ' число переносов строк
   Dim i as Integer ' счетчик
   gap = 0
   break = 0

   ' получаем current document -> controller -> view cursor
   doc = ThisComponent
   controller = doc.getCurrentController()
   textviewcursor = controller.getViewCursor()


   letters = textviewcursor.getString ' забираем выделенный текст

   For i = 1 To Len(letters)

       cursign = Mid (letters, i, 1)

       If cursign = chr(32) Then ' Считаем пробелы
           gap = gap + 1 ' один да один - два

       ElseIf cursign = chr(10) Or cursign = chr(9)  Then ' Считаем переносы строк
           break = break + 1
       End If

   Next
   msgbox "Всего знаков: " & Len(letters) - break & chr(13) & "Знаков без пробелов: " & Len(letters) - gap - break

End Sub
 Спасибо, Рыбка Рио

Немає коментарів:

Дописати коментар