Textmaker: превращение маркеров в текст

Yar

Топикстартер
15 лет на форуме
Сообщения
518
Реакции
156
Для Microsoft Word имеется вот такой макрос:
Код:
Sub Procedure_1()

    Dim i As Long
  
    'Отключаем обновление монитора, чтобы быстрее работало.
    Application.ScreenUpdating = False
  
    For i = ActiveDocument.ListParagraphs.Count To 1 Step -1
        ActiveDocument.ListParagraphs(i).Range.ListFormat.ConvertNumbersToText
    Next i

    'Включаем обновление монитора.
    Application.ScreenUpdating = True
  
    'Сообщение, что код завершил работу.
    MsgBox "Код завершил работу!", vbInformation
  
End Sub

Я использую (и всем рекомендую:) ) FreeOffice и там он, естественно, не работает.
Есть ли здесь кто-то, способный адаптировать?

Можно даже только для маркеров.
 
Последнее редактирование:

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 808
Реакции
3 434

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
Для Microsoft Word имеется вот такой макрос:
Код:
Sub Procedure_1()

    Dim i As Long
 
    'Отключаем обновление монитора, чтобы быстрее работало.
    Application.ScreenUpdating = False
 
    For i = ActiveDocument.ListParagraphs.Count To 1 Step -1
        ActiveDocument.ListParagraphs(i).Range.ListFormat.ConvertNumbersToText
    Next i

    'Включаем обновление монитора.
    Application.ScreenUpdating = True
 
    'Сообщение, что код завершил работу.
    MsgBox "Код завершил работу!", vbInformation
 
End Sub

Я использую (и всем рекомендую:) ) FreeOffice и там он, естественно, не работает.
Есть ли здесь кто-то, способный адаптировать?

Можно даже только для маркеров.
Там же вообще VBA нет, насколько я понимаю
 

Yar

Топикстартер
15 лет на форуме
Сообщения
518
Реакции
156
Чем он лучше, например, LibreOffice?
(по скриншотам на сайте вижу, что там ужасный новомодный мелкоофисный интерфейс)
Плюс этого пакета как раз в том, что интерфейс можно выбирать: новомодный или старомодный.
 

LeonidB

Их бин
10 лет на форуме
Сообщения
2 468
Реакции
1 528
В этом ТекстМэйкере есть запись макросов? Включить запись, проделать процедуру преобразования маркеров в текст, остановить запись - и вуаля. Так, по крайней мере, можно сделать в Ворде.
 

Yar

Топикстартер
15 лет на форуме
Сообщения
518
Реакции
156
В этом ТекстМэйкере есть запись макросов? Включить запись, проделать процедуру преобразования маркеров в текст, остановить запись - и вуаля. Так, по крайней мере, можно сделать в Ворде.
нет, только текстом.
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 808
Реакции
3 434

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
  • Спасибо
Реакции: Yar

Старкрафт

Участник
Сообщения
289
Реакции
106
Плюс этого пакета как раз в том, что интерфейс можно выбирать: новомодный или старомодный.
В либре тоже можно включить риббон, если есть такие любители (а они есть и я к ним не отношусь).
А ещё либра с грехом пополам может выполнять некоторые VBA скрипты. Раньше только в линуксе, теперь и на windows. Но я попробовал, конкретно этот код не работает, хотя срабатывали намного более сложные.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835

Старкрафт

Участник
Сообщения
289
Реакции
106
Там же где в MS-Office - Alt+F11
Добавляем строку
Option VBASupport 1

Но не работает. В принципе, можно и средствами родного ОО-бейсика написать
Заготовка:
Код:
Sub enumerateParagraphs
    Dim oEnum 'com.sun.star.container.XEnumerationAccess
    Dim oPar 'Абзац

    oEnum = ThisComponent.Text.createEnumeration()
    Do While oEnum.hasMoreElements()
        oPar = oEnum.nextElement()
        ' Возвращаемый абзац может быть абзацем или текстовой таблицей
        If oPar.supportsService("com.sun.star.text.Paragraph") Then
            if oPar.NumberingIsNumber = true then msgbox "Ура"
            '
            'тут
            'нудно
            'меняем
            '
        End If   
    Loop
End Sub
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
Ну я пологаю, логичнее было б спросить не тут, а на соответствующем форуме BasicMaker 2016 for Windows - SoftMaker.com правда, как я погляжу по активности, с весьма унылыми перспективами :(
 

Старкрафт

Участник
Сообщения
289
Реакции
106
Ну так надо разобраться что именно не работает в этой конструкции и сделать чтоб работало
Думаю это нереально. Он же чужой код в свой как-то переводит, а что делает при этом — не показывает.
Я бегло глянул, нету в ОО функции ConvertNumbersToText. Следовательно, нужно руками делать. Заново.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
Ну я ж не знаю какая там специфика, может ругается, ошибку выводит какую, если нет то самому отладочных печатей наставить, не?
 

Старкрафт

Участник
Сообщения
289
Реакции
106
Сегодня генерировал в либре штрихкоды ean-13, через файл с макросом excel от "Тирики". А там и код посложнее и форма на листе. И ничего, либра отработала без проблем. А вот нумерованный список в текст нет. Видимо это противоречит идеологии. Мол, нечего колхозить и уничтожать структуру. Хотя здря.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
Сегодня генерировал в либре штрихкоды ean-13, через файл с макросом excel от "Тирики". А там и код посложнее и форма на листе. И ничего, либра отработала без проблем. А вот нумерованный список в текст нет. Видимо это противоречит идеологии. Мол, нечего колхозить и уничтожать структуру. Хотя здря.
Да там может какой то совершенно простецкий затык например, какого то незначащего метода нет или по другому называется, вы ж не хотите вглубь копать