Преобразование текста в заборчик в Word

Статус: Offline
Реєстрація: 05.05.2006
Повідом.: 223
Преобразование текста в заборчик в Word

Всем доброго времени суток! Возник вопрос: как преобразовать разом весь текст в документе Word в ТеКсТ нАпИсАнНыЙ зАбОрЧиКоМ ? Нужно для того чтобы отправлять заказчикам пояснительные записки. Т.Е. алгоритм такой:
1. Пишем пояснительную записку.
2. Делаем копию документа. Перводим весь текст в ЗаБоРчИк.
3. Печатаем файл в .pdf
4. Отправляем заказчику для ознакомления.
5. Получаем оплату от заказчика.
6. Отправляем заказчику оригинал записки.
7. ??????????
8. PROFIT
Вдумчивое гугление ни к чему ни привело. Есть онлайн-конверторы в заборчик, но после копирования туда-обратно сбивается форматирование и разметка.
Заранее всем спасибо за ответы!
 
А смысл отправлять заборчиком для ознакомления, если тот же Word умеет сделать для заказчика обратно Sentence Case :D
 
Думаю без скрипта на визуал-басице не обойтись.

А смысл отправлять заборчиком для ознакомления, если тот же Word умеет сделать для заказчика обратно Sentence Case :D

Верно. И уже без извратов. Хотя для этого заказчику придётся распознать pdf файнридером.
 
Не, так не интересно, забацайте записку вонни-стайл текстом.

У нс здсь свяо атмфсера!
 
тада чо уж мелочиться вонни + транслит + заборчик. Проще сразу на японский перевести. Может кто поумнее чего подскажет чем моя идея с заборчиком?
 
По поводу заборчика... Написал вот макрос - тапками не кидать, я висуал басиц первый раз в жизни вижу:
Код:
Sub zaborchik()
    For j = 1 To Selection.Words.Count
        For i = 1 To Selection.Words(j).Characters.Count
           If ((i / 2) <> Int(i / 2)) Then Selection.Words(j).Characters(i).Case = wdUpperCase Else: Selection.Words(j).Characters(i).Case = wdLowerCase
        Next i
    Next j
End Sub

Преобразует в заборчик выделенный фрагмент. Если хочется весь текст - можно Ctrl+A а потом запустить этот макрос.
 
If (i % 2 == 0)

так приятнее и правильнее
 
Предложу и свой вариант, который будет работать быстрее
Код:
Sub zaborchik()
    Selection.HomeKey wdStory
    Selection.Move
    Do
        Selection.Characters.First.Case = IIf(Selection.Characters.First.Previous.Case = wdUpperCase, wdLowerCase, wdUpperCase)
    Loop While Selection.Move <> 0
End Sub
Но по-моему это моветон, в таком виде отсылать документ для ознакомления. Это же не два предложения, а текст, в который ещё и вникнуть нужно. Помести водяной знак "Для ознакомления" на всю страницу и отсылай
 
Но по-моему это моветон, в таком виде отсылать документ для ознакомления.
Вы знаете, жизнь удивительная штука! Она весьма многогранна. Работать приходится с разными людьми. Согласен, что в большей части заказчики вменяемы и я им даже сразу отсылаю оригиналы без всяких заборчиков.
Вот Вам пример из реальной жизни. Мне хочется верить, что я человек склонный к интеллигентности. Как бы не был раздражен - никогда голос не повышаю. Матом не ругаюсь в принципе. Вне зависимости от обстоятельств. Точнее не ругался. )))
Делали у меня ремонт в квартире три таджика. Долго, плохо, спустя рукава. Друзья мне объяснили, что я их просто готовить не умею. ))) И точно. Начал на них кричать, материть, раздавать подзатыльники, а то и волшебные пендели. Таджиков как будто подменили. Работали быстро, качественно и с усердием. У них так заведено. Если ты не орешь и не бьешь - значит ты слабак и тебя слушаться вообще не нужно. Человеческое отношение вообще не срабатывает. Так и здесь.

Теперь по теме. Большое спасибо за код! Он работает, но подвешивает 2007-й Word на камне i7 (2600) с 16 Гб RAM. После перезапуска программы и восстановления документа выясняется, что он запинается о первую таблицу в документе, как и код Jogger (ему тоже огромное спасибо!). К тому же немного съезжает форматирование.
На всякий случай прилагаю файл в котором применяю макрос.
 

Вкладення

  • ПЗ.doc
    715.5 КБ · Перегляди: 190
Ворд не подвешивается, просто терпения не хватает. вот так подвешиваться не будет, но придётся всё равно подождать или оборвать
Код:
Sub zaborchik()
    Selection.HomeKey wdStory
    Selection.Move
    Do
        Selection.Characters.First.Case = IIf(Selection.Characters.First.Previous.Case = wdUpperCase, wdLowerCase, wdUpperCase)
        DoEvents
    Loop While Selection.Move <> 0
End Sub
 
А поспрашивайте на DWG.ru, там вопрос защиты авторских прав на чертежи и документы тоже обсуждался.
 
мне кажется, что здесь печать в PDF без OCR-слоя с обильным добавлением водяных знаков вполне оправдана.
 
Назад
Зверху Знизу