Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

25 Май 2020, 01:51 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Как в макрос добавить изменение регистра  (Прочитано 5807 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Ghenek
Участник
**
Offline Offline

Сообщений: 6


« Стартовое сообщение: 3 Октябрь 2013, 16:52 »

Вообщем макрос справляется с моей задаче, но не могу вставить изменение регистра.
Изначально слова у меня вставляются ПРОПИСНЫМИ, в одно месте надо сделать строчными, а в другом "как в предложении" с прописной буквы.

PS не знаю имеет ли значение, пользуюсь OpenOffice
« Последнее редактирование: 3 Октябрь 2013, 16:59 от Ghenek » Записан

Я за свободный код! Знания должны быть общими!
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #1: 3 Октябрь 2013, 17:13 »

Добро пожаловать на форум!
Ты имеешь в виду, что в макросе нужно использовать функции изменения регистра строк, но не знаешь их названий?
Ну, к верхнему регистру строку приводят через UCase, к нижнему - LCase...
Насчет встроенной функции для регистра "Как В Предложении" не помню, может быть и нет такой... Но её ведь не трудно и самому набросать через эти две и Split с Join'ом

Примерно так:
Код:
Function CCase(Txt As String, Optional Delimiter As String) As String
Dim x As Variant
Dim index&
If IsMissing(Delimiter) Then Delimiter = " "
    x = Split(Txt, Delimiter)
    For index = LBound(x) To UBound(x)
    If x(index) <> "" Then
    x(index) = UCase(Left(x(index),1)) + LCase(Right(x(index),Len(x(index))-1))
    EndIf
    Next index
    CCase = Join(x,Delimiter)
End Function
« Последнее редактирование: 3 Октябрь 2013, 18:04 от JohnSUN » Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Ghenek
Участник
**
Offline Offline

Сообщений: 6


« Ответ #2: 3 Октябрь 2013, 20:52 »

Спасибо за радушный приём =).

Макросы я могу только в авто режиме писать (начать запись, делаешь действия, завершить)
ну и потом воспроизводишь

и вроде всё должно выходить, вот остался момент с регистром

скачал файлик по программированию )), ух и большущий он

без знаний программирования это можно сделать?
« Последнее редактирование: 3 Октябрь 2013, 20:54 от Ghenek » Записан

Я за свободный код! Знания должны быть общими!
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #3: 4 Октябрь 2013, 10:14 »

без знаний программирования это можно сделать?
Честно? Можно, конечно... И иногда может получиться лучше, чем со знаниями. Ну, этот прикол насчет Великих Открытий помнишь? Когда "приходит чудак, который не знал, что это сделать невозможно"?

А вообще-то "знание программирования" это обычный здравый смысл, который еще называют "логикой".
Есть всего три правила, которым следует компьютер: программу нужно выполнять последовательно, строчка за строчкой, как записано в коде. Наткнувшись на слово IF посмотреть, что за ним стоит и выполнить или кусок кода после THEN или (если он есть) кусок кода после ELSE. Встретив одно из слов FOR, DO, REPEAT, WHILE, UNTIL или еще какое-то похожее по смыслу - повторить кусок кода несколько раз, выполнить цикл. Всё! Все остальные заморочки строятся на этих трёх правилах. Так что ничего особо сложного в программировании нет. Нужно просто писать код используя эти три правила... и удачно вставляя в свои программы куски кода, уже написанные другими людьми...
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Ghenek
Участник
**
Offline Offline

Сообщений: 6


« Ответ #4: 4 Октябрь 2013, 10:45 »

 ну я так понял что нельзя =))

теперь пофилосовствуем Улыбка
ИМХО
на сегодняшний день, инфы, в том числе полезной, пруд пруди
я так думаю, что всей информации, появившийся в течении сегодняшнего утра, достаточно что бы до конца жизни сидеть и изучать

приходиться выбирать =), я уже года 2 не могу начать изучение английского

если изучу программирование, и буду пользоваться этим 2-3 раза в год - это будет не рационально
(да я думаю ещё и забудется большая часть)

« Последнее редактирование: 4 Октябрь 2013, 10:51 от Ghenek » Записан

Я за свободный код! Знания должны быть общими!
Ghenek
Участник
**
Offline Offline

Сообщений: 6


« Ответ #5: 4 Октябрь 2013, 10:50 »

ОДНАКО!!! если есть хороший самоучитель с удовольствием приму к сведению.

И вообще хочу сказать Вам большое спасибо!!
Это очень здорово что есть люди готовые делиться своими знаниями  Улыбка
Записан

Я за свободный код! Знания должны быть общими!
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #6: 4 Октябрь 2013, 11:09 »

достаточно что бы до конца жизни сидеть и изучать

приходиться выбирать =), я уже года 2 не могу начать изучение английского

если изучу программирование, и буду пользоваться этим 2-3 раза в год - это будет не рационально
Ну, не стоит так категорично... У меня с инглышем тоже очень долго было "соу-соу иф ю риали интэрэстэд ин ит"...
Но тут ведь какая интересная штука: большая часть алгоритмических языков используют английские слова (исключением является, например, внутренний язык !С:Предприятия - там всё по-русски). Соответственно, по чуть-чуть нарабатываются навыки чтения и перевода "на лету".
Опять же, втянувшись в процесс создания кода, рано или поздно заглянешь в международные форумы, а там официальный язык общения именно английский... или максимально приближенный к нему, тут уж кто как умеет... Я, например, почитал-пописал немного на http://forum.openoffice.org/en/ и http://ask.libreoffice.org/en/questions/ и вдруг понял, что, например, хэлпы по Дельфи читаю и понимаю без Гугль-переводчика... А раньше ведь "ни бум-бум"  Шокирован
Это очень здорово что есть люди готовые делиться своими знаниями  Улыбка
Да, есть такой человек - Андрей Питоньяк (Andrew Pitonyak). Гугль по этой фамилии выдаёт кучу ссылок, в том числе и русские переводы его книг. Весьма рекомендую - толково написано: без излишнего сюсюканья, но очень подробно.
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Ghenek
Участник
**
Offline Offline

Сообщений: 6


« Ответ #7: 4 Октябрь 2013, 11:47 »

http://www.admin-smolensk.ru/~websprav/freesoft/freesoft/OpenOffice.org%20Macros%20Explained.Master.pdf

это??
Записан

Я за свободный код! Знания должны быть общими!
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #8: 4 Октябрь 2013, 12:16 »

Да, одна из многих... Я предпочитаю время от времени таскать прямо с его сайта "черновую" книжку прямо в ODT-формате. Почему-то с ней работать привычнее, чем с PDF (копипастить проще Улыбка ). Эндрю там собрал много фрагментов кода и готовых процедур с разных форумов, много сам написал... Почти на все случаи жизни.
Эта книжка не так тщательно структурирована, как та, что ты нашел в переводе Дмитрия Чернова (огромные ему респект и уважуха!), это просто сборник готовых рецептов.
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Ghenek
Участник
**
Offline Offline

Сообщений: 6


« Ответ #9: 4 Октябрь 2013, 13:09 »

английский всё же надо учить  Подмигивающий
Записан

Я за свободный код! Знания должны быть общими!
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!