Редактирование текста, автоматизация, макрос.

Автор EvgenStor, 20 декабря 2011, 15:52

0 Пользователи и 1 гость просматривают эту тему.

EvgenStor

Здравствуйте,
Столкнулся с проблемкой, помогите решить!
В ячейки есть текст в несколько строк, к нему надо добавить в конце каждой строки "<br>" что бы при экспорте в html каждая строка начиналась с новой строки. Выглядит это так:
Имеем ячейку A1:
1
2
3
4
5

Должно стать A1:
1<br>
2<br>
3<br>
4<br>
5<br>

Каким быстрым способом этого можно добиться? Если проставлять это в ручную, мне потребуется не меньше недели, текстов много.

Рыбка Рио

#1
Вот такой макрос думаю должен работать и на Линукс и на Windows.

Sub Main
Doc = ThisComponent
Sheet = Doc.CurrentController.ActiveSheet
Selection = Doc.CurrentSelection
m=0
Dim SL(0)
If Selection.supportsService("com.sun.star.sheet.SheetCellRanges") then 'множественное выделение
   m=Selection.Count-1
   Redim SL(m)
   For i=0 to m
      SL(i)=Selection(i)
   Next
Else
   SL(0)=Selection
Endif
For i=0 to m
      k = SL(i).Rows.Count-1
      l = SL(i).Columns.Count-1
      For i1=0 to k
      For i2=0 to l
         s =SL(i).getCellByPosition(i2,i1).String
         If s<>"" then
            s = Join(Split(s,"<br>"),"") 'Replace не работает в данном случае почему-то
            s = Join(Split(s,chr(13)),"")
            s = Replace(s,chr(10),"<br>"+chr(10))
            SL(i).getCellByPosition(i2,i1).String = s+"<br>"
         Endif
      Next
      Next
Next
End Sub


[вложение удалено Администратором]
ubuntu 12.04 + LibO3.6.0

neft

Добавить <br> можно, вот только при экспорте в html получаются не теги, а просто строки вида "1<br>"

EvgenStor

neft

не, не, все получается как надо, т.е. воспринимается как тег! Проверял лично расставлял <br> ручками.

Уважаемый Клио, спасибо огромное это именно то, что надо!!!!!!!
Расскажите пожалуйста, как сделать такие замечательные функциональные кнопочки, в моем документе?

еще раз огромное спасибо, все работает как надо!

Рыбка Рио

Цитата: EvgenStor от 21 декабря 2011, 02:12Расскажите пожалуйста, как сделать такие замечательные функциональные кнопочки, в моем документе?
Нужно включить панель инструментов "Элементы управления" (меню Вид - Панели инструментов - Элементы управления ). На этой панели нажать на кнопку "Режим разработки". После этого на этой панели станут активными кнопки добавления разных элементов управления, в т.ч. и кнопок. А уже имеющиеся кнопки можно редактировать. На кнопке можно кликнуть правой кнопкой мышки, и выбрать события. Там можно выбрать макрос, который будет выполняться.
ubuntu 12.04 + LibO3.6.0

EvgenStor

Цитата: Клио от 21 декабря 2011, 10:40Там можно выбрать макрос, который будет выполняться.

А как его выбрать если его (вашего макроса) там нет в списке? Как добавить ваш макрос в папку с моими макросами?

EvgenStor

Вроде получилось! Создал кнопки, пока все работает! Кнопочка удаления тоже кстати нужная вещь!
А как будет выглядеть код для вставки символа не в конце строки а в начале?
Пример:
имеем ячейку
1
2
3
получаем ячейку
<li>1
<li>2
<li>3

Рыбка Рио

Цитата: EvgenStor от 22 декабря 2011, 03:21А как будет выглядеть код для вставки символа не в конце строки а в начале?
Пример:
имеем ячейку
1
2
3
получаем ячейку
<li>1
<li>2
<li>3
Вот эти 4 строчки
            s = Join(Split(s,"<br>"),"") 'Replace не работает в данном случае почему-то
            s = Join(Split(s,chr(13)),"")
            s = Replace(s,chr(10),"<br>"+chr(10))
            SL(i).getCellByPosition(i2,i1).String = s+"<br>"

нужно заменить на
            s = Join(Split(s,"<li>"),"")
            s = Join(Split(s,chr(13)),"")
            s = Replace(s,chr(10),chr(10)+"<li>")
            SL(i).getCellByPosition(i2,i1).String = "<li>"+s

ubuntu 12.04 + LibO3.6.0

EvgenStor

Клио, Спасибо огромнейшее!! Макрос получился просто идеален!