Как в макрос добавить изменение регистра

Автор Ghenek, 3 октября 2013, 17:52

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

Ghenek

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

PS не знаю имеет ли значение, пользуюсь OpenOffice
Я за свободный код! Знания должны быть общими!

JohnSUN

#1
Добро пожаловать на форум!
Ты имеешь в виду, что в макросе нужно использовать функции изменения регистра строк, но не знаешь их названий?
Ну, к верхнему регистру строку приводят через 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
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Ghenek

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

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

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

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

без знаний программирования это можно сделать?
Я за свободный код! Знания должны быть общими!

JohnSUN

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

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

Ghenek

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

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

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

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

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

Ghenek

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

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

JohnSUN

Цитата: Ghenek от  4 октября 2013, 11:45
достаточно что бы до конца жизни сидеть и изучать

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

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

Ghenek

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

JohnSUN

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

Ghenek

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