Тема: LibreOffice Basic Видалити зайву інформацію при копіюванні з телеграм
Якщо скопіювати з телеграм в LibreOffice Writer два і більше повідомлень буде додано також "Ім'я Прізвише, [XX.XX.XXXX XX:XX]"
Name Subname, [03.03.2023 17:42]
Приклад 1
Name Subname, [03.03.2023 17:42]
Приклад 2
Як його видалити за допомогою макроса на BASIC ?
Ось код на JS (працює в консолі браузера)
let str = "[HERE ARE PLACE FOR YOUR TEXT]"
let pattern = /\n.+,\s\[\d{2}\.\d{2}\.\d{4}\s\d{2}:\d{2}\]/g;
let textWithoutPattern = str.value.replace(pattern, '');
Код на BASIC
Sub DeletePattern()
Dim oDoc As Object
Dim oText As Object
Dim oCursor As Object
Dim oMatches As Object
Dim oRegExp As Object
Dim sPattern As String
Dim i As Integer
oDoc = ThisComponent
oText = oDoc.Text.createEnumeration()
oCursor = oText.createTextCursor()
sPattern = "(\w+\s)?\w+,\s\[\d{2}\.\d{2}\.\d{4}\s\d{2}:\d{2}\]"
oRegExp = createUnoService("com.sun.star.util.RegExp")
End Sub
https://www.openoffice.org/api/docs/com … eText.html
BASIC runtime error.
Property or method not found: createTextCursor
TextCursor - теж така помилка
На мій погляд документація досить "суха", немає прикладів. Тому скоріше всього те що я написав не буде робити...
Можливо хтось писав макроси, можете підказати як написати функцію ? В JS вже є робочий код - це простий реплейс. Все що потрібно зробити в BASIC це "пройтися" по всьому тексту і позаміняти.
P.S. Я знаю що овпен офіс і лібер офіс це різні програми, просто важко знайти документацію на лібер офіс. Тому перший лінк на овпен офіс.