Макрос для перевода текста в кривые

  • Автор темы Автор темы alexkosh-ul
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

alexkosh-ul

Участник
Топикстартер
Сообщения
5
Реакции
1
Макрос для перевода текста в кривые на всех страницах.
Может кому пригодится :)
1) копируем файл text_to_curve.gms в следующую папку:
ваш_диск:\Program Files\Corel\Corel Graphics 12\Draw\GMS\
2) загружаем corel
3) Меню Tools->VisualBasic->Play...
4) В появившемся окне выбираем в поле со списком "Macros in:" пункт "text_to_curve(text_to_curve.gms)"
5) Жмем кнопку "Run"(Выполнить)
Что бы повесить выполнение макроса на кнопку:
1) Меню Tools->Options
2) в появившемся окне, в дереве опций выбираем "Customization->Commands"
3) выбираем в поле со списом которое слева от значка-"Бинокль" пункт "Macros"
4) в появившемся списке макросов находим наш макрос text_to_curve, при необходимости заполняем поле "Tooltip Help" - это текст подсказки котарая будет выводится если поднести укзатель мышки к значку макроса на панели инструментов.
5) как и во всех программах - перетаскиваем значек в необходимое место на панели инструментов.
 

Вложения

  • Спасибо
Реакции: stickfolder
Ответ: Макрос для перевода текста в кривые

Пасибо! Аналог я уже себе делал, тока там проблемка была с сгруппированными объектами. А Ваш метод изящнее моего, так что за идею отдельное спасибо
 
Ответ: Макрос для перевода текста в кривые

Архиважный макрос... Спасибо!
 
Ответ: Макрос для перевода текста в кривые

'OoO' зАМечательная ВЕЩЬ!
 
Ответ: Макрос для перевода текста в кривые

По просьбам трудящихся добавил перевод в кривые - текста на masterpage. Проверьте на десктопе курвит? а то я просто не знаю как на нем тект написать - опыт работы с корелом: 3 дня :)
 

Вложения

Ответ: Макрос для перевода текста в кривые

Спасибо. Клево. Я задал гор.кл. Shift+Q и досвидания. Вот один вопрос только. Почему так трудно сделать кривизну как в Иле, побуквенно? Я на работе программеру заказывал макросы, сделал не вопрос, а этот момент не осилил. Говорит что не понимает как это описать, чтобы работало. Так все плохо?
 
Ответ: Макрос для перевода текста в кривые

Yuta сказал(а):
Спасибо. Клево. Я задал гор.кл. Shift+Q и досвидания. Вот один вопрос только. Почему так трудно сделать кривизну как в Иле, побуквенно? Я на работе программеру заказывал макросы, сделал не вопрос, а этот момент не осилил. Говорит что не понимает как это описать, чтобы работало. Так все плохо?
Потому что команда VBA ConvertToCurves работает также как и обычное Ctrl-Q в самом Кореле, чтобы окривить по одной буковке надо сначала текст разбить по одному символу, а тут уже могут возникнуть проблеммы. Чем мудрить, проще как в старину кривили параграф, перегнать текст через Publish To PDF. Не пробовал, но думаю это действие тоже можно организовать через макрос.
 
Ответ: Макрос для перевода текста в кривые

Asmussen сказал(а):
Потому что команда VBA ConvertToCurves работает также как и обычное Ctrl-Q.
Чем мудрить, проще как в старину кривили параграф, перегнать текст через Publish To PDF.

Ё-моё. Мне все эти VBA и т.д. ни о чем не говорят. Я знаю одно, что когда текст переведен в кривые как в Иле это лучше, потому что удобнее. Столько лет работая в Кореле люди то в аишный формат перегоняют/импортируют, то через Publish To PDF выгоняют. Вот и спрашивается, почему за столько лет нельзя что-то придумать чтобы кривилось как в Иле не пребегая к стороним программам? Почему?
 
Ответ: Макрос для перевода текста в кривые

VBA это язык такой програмирования интегрированый в Корел и кучу других программ.
А по мне по одной буковке наоборот неудобно, это нужно лишь иногда.
 
Ответ: Макрос для перевода текста в кривые

Офигеть! Только сейчас заметил, что он еще текс в группах кривит! Ваще супер!!!! 'dans))'
 
Ответ: Макрос для перевода текста в кривые

Побуквенное кривление очень удобно в том случае, когда в кривленнй текст нужно вносить корректрскую правку. Часто такое встречается! Попробуй-ка из единой кривой из многих "букв" выдрать одну и заменить другой (хотя бы откопировав из другой строки.
Возможно, есть смысл сначала побить текстовый объект на символы (брик апарт 2 раза), а потом кривить (это как вариант макроса)
 
Ответ: Макрос для перевода текста в кривые

Hurry2 сказал(а):
Возможно, есть смысл сначала побить текстовый объект на символы (брик апарт 2 раза), а потом кривить (это как вариант макроса)

Замумыкаемся брикавать, особенно когда текста несколько страниц, да пусть даже одна, а при выключках Full/Forse Justify вообще ерунда будет полная.
 
Ответ: Макрос для перевода текста в кривые

от rdgr:
макрос не обрабатывает обтекание текстом если один текстовый блок лежит на другом
 
Ответ: Макрос для перевода текста в кривые

Yuta сказал(а):
Вот и спрашивается, почему за столько лет нельзя что-то придумать чтобы кривилось как в Иле не пребегая к стороним программам? Почему?

Придумать можно если проявить смекалку. Когда-то давал совет

http://forum.rudtp.ru/showthread.php?t=4989
 
Ответ: Макрос для перевода текста в кривые

Несколько комментариев по макросу
MasterPage имеет индекс 0, т.е. если бы Вы написали вместо
Код:
For i = 1 To ActiveDocument.Pages.Count
вот так:
Код:
For i = 0 To ActiveDocument.Pages.Count
а ещё лучше воспользовались бы циклом For ... Each
Код:
For Each p In ActiveDocument.Pages
то не пришлось бы добавлять обработку MasterPage,
переводить текстовые объекты в кривые лучше не по одному, а всем скопом
Код:
p.Shapes.FindShapes(, cdrTextShape).ConvertToCurves
В аттаче поправленный макрос. + Добавлена обработка PowerClip'ов, обработку Symbols и т.п. добавляйте сами

Fog_patch - если Вы имеете в виду способ с линзой, то примените его на тексте покрашенном в Pantone
 

Вложения

Ответ: Макрос для перевода текста в кривые

цикл
Код:
For Each p In ActiveDocument.Pages
в 12-м Кореле не захватывает MasterPage (по крайней мере у меня). Не велика потеря вобщем-то, мне лично не нужно на MasterPage ничего окривлять.
 
Ответ: Макрос для перевода текста в кривые

Тогда можно вернуться к конструкции с перебором страниц по номеру
Код:
For i = 0 To ActiveDocument.Pages.Count
  Set p = ActiveDocument.Pages(i)
  Pconvert p.Shapes
p.Shapes.FindShapes(, cdrTextShape).ConvertToCurves
Next i
 
Ответ: Макрос для перевода текста в кривые

lev сказал(а):
если Вы имеете в виду способ с линзой, то примените его на тексте покрашенном в Pantone

X3 сохраняет. А в остальных недолго перекрасить.
 
Ответ: Макрос для перевода текста в кривые

Блин... Спасибо за подсказку с линзой. Не знал!!!
Ей можно и OLE объекты так же лечить, теперь борьба со штрихкодами резко облегчается...
 
Ответ: Макрос для перевода текста в кривые

теперь борьба со штрихкодами резко облегчается...
JAW, как старому товарищу. :) Копай отсюда и будет счастье. ;)
 
Статус
Закрыто для дальнейших ответов.