Регистрация | | запомнить |
 
 
ВК



Просматривают:   1 Анонимно





Подскажите чайнику
print | #
Новичок
Присоединился:
2008/1/11 18:23
Сообщений: 2
Offline
Здраствуйте!
Помогите чайнику стать немного самоваром

Есть задача написать макрос для Corel, который выполняет такую последовательность действий:
1. Рисует контур для фигуры
2. Разбивает получившуюся фигуру на контур и основную фигуру
3. Удаляет исходную фигуру

Вроде бы все и просто, можно сделать с использованием конструктора, но есть проблема в том что разбить результирующую фигуру не получается:( Если писать отдельными макросами все отлично, но после первой операции нужно снять выделение и снова выделить фигуру. Как это можно реализовать в коде макроса?

Мой код

Dim i As Integer

Private Sub CommandButton1_Click()
i = Val(TextBox1.Text)
Dim OrigSelection As ShapeRange

Set OrigSelection = ActiveSelectionRange
Dim eff1 As Effect
Set eff1 = OrigSelection(1).CreateContour(cdrContourInside, 0.19685, i, cdrDirectFountainFillBlend, CreateCMYKColor(0, 0, 0, 100), CreateCMYKColor(0, 0, 0, 100), CreateCMYKColor(0, 0, 0, 100), 0, 2)

ActiveSelection.Separate
OrigSelection(1).Delete

UserForm1.Hide
End Sub

Опубликовано: 2008/1/11 18:30
(1) 2 »


Re: Подскажите чайнику
Титан
Присоединился:
2005/11/18 20:12
Откуда Ukraine
Сообщений: 1656
Offline
lusin а зачем? это два клика мышью

Опубликовано: 2008/1/11 20:19
_________________
едэм дас зайнэ и ниипёт


Re: Подскажите чайнику
Новичок
Присоединился:
2008/1/15 10:05
Откуда Челябинск
Сообщений: 20
Offline
Private i As Integer

Private Sub CommandButton1_Click()
i = Val(TextBox1.Text)
Dim OrigSelection As ShapeRange
Dim eff1 As Effect

Set s1 = ActiveShape
Set eff1 = s1.CreateContour(cdrContourInside, 0.19685, i, cdrDirectFountainFillBlend, CreateCMYKColor(0, 0, 0, 100), CreateCMYKColor(0, 0, 0, 100), CreateCMYKColor(0, 0, 0, 100), 0, 2)
eff1.Contour.ContourGroup.AddToSelection
ActiveSelection.Separate
s1.Delete

UserForm1.Hide

End Sub

Опубликовано: 2008/1/15 11:59


Re: Подскажите чайнику
Новичок
Присоединился:
2008/1/15 10:05
Откуда Челябинск
Сообщений: 20
Offline
Вот тут поторопился - убери в моём примере:
Dim OrigSelection As ShapeRange

Оно не нужно :-)))

Опубликовано: 2008/1/15 12:01


Re: Подскажите чайнику
Новичок
Присоединился:
2008/1/15 10:05
Откуда Челябинск
Сообщений: 20
Offline
Цитата:

monter wrote:
lusin а зачем? это два клика мышью :-)


А если таких объёктов 1000?..

:-)

Опубликовано: 2008/1/15 12:03


Re: Подскажите чайнику
Титан
Присоединился:
2005/11/18 20:12
Откуда Ukraine
Сообщений: 1656
Offline
magnus_z ctrl+a, левой мышей на прозрачности, правой на ккаком-то цвете, потом в свойства обводдки, ставим нужные параметры (типа скругления углов или толщину или еще что-то), потом ctrl+q, ctrl+g, все кроме этой группы удалить, выделить группу и ctrl+u (не часто у меня возникает необходимость в таких действиях, но они все производятся нажатие хоткеев и потому я и спрашивал о целефообразности

Опубликовано: 2008/1/15 21:11
_________________
едэм дас зайнэ и ниипёт


Re: Подскажите чайнику
Новичок
Присоединился:
2008/1/11 18:23
Сообщений: 2
Offline
оказывается всё до безумия просто, делов то запомнить исходную фигуру а затем удалить ее

всем большое спасибо за помощь

Опубликовано: 2008/1/16 14:12

Edited by lusin on 16/01/2008 14:34:33


Re: Подскажите чайнику
Пользователь
Присоединился:
2006/3/25 17:57
Сообщений: 33
Offline
Здравствуйте!
Люди добрые подскажите! Есть макрос который экспортирует выделеный объект в EPS в строго указаное место и под строго указаным именем. Как сделать что бы он экспортировал в строго указанное место но каждый раз под новым именем?
Надеюсь на вашу помощь!

Опубликовано: 2008/1/30 4:26


Re: Подскажите чайнику
Пользователь
Присоединился:
2006/3/25 17:57
Сообщений: 33
Offline
ну может хоть кто нить подскажет как решить этот вопрос?!

Опубликовано: 2008/2/1 4:02


Re: Подскажите чайнику
Новичок
Присоединился:
2008/1/15 10:05
Откуда Челябинск
Сообщений: 20
Offline
Цитата:
VUV wrote: ну может хоть кто нить подскажет как решить этот вопрос?!

Эта задача для VB, для VBA решается так же.
При экспорте нового файла задай ему новое имя. Здесь, к примеру, имя можно сделать состоящим из года, месяца, дня, часа, минуты и секуды - тогда твои имена точно будут уникальными :-)))
В этом случае имя экспортируемого eps будет:

Format(Date, "yymmdd") & Format(Time, "hhmmss") & ".eps"

Или исползуй генератор случайных чисел.

Или добавляй в начало (или в конец, перед ".eps") файла порядковый номер.

Решений может быть множество - выбирай любое :-)

Опубликовано: 2008/2/1 6:16


Re: Подскажите чайнику
Пользователь
Присоединился:
2006/3/25 17:57
Сообщений: 33
Offline
Цитата:

magnus_z wrote:
Цитата:
VUV wrote: ну может хоть кто нить подскажет как решить этот вопрос?!

Эта задача для VB, для VBA решается так же.
При экспорте нового файла задай ему новое имя. Здесь, к примеру, имя можно сделать состоящим из года, месяца, дня, часа, минуты и секуды - тогда твои имена точно будут уникальными ))
В этом случае имя экспортируемого eps будет:

Format(Date, "yymmdd" & Format(Time, "hhmmss" & ".eps"

Или исползуй генератор случайных чисел.

Или добавляй в начало (или в конец, перед ".eps" файла порядковый номер.

Решений может быть множество - выбирай любое



СПАСИБО!!! Очень помог, то что нужно!!!

Опубликовано: 2008/2/4 1:40



(1) 2 »




Форма быстрого ответа
ЛогинИмя   Пароль   Логин
Сообщение:          

      ПРИМЕР


 [далее...]
Уведомлять о сообщениях в теме.



[Настройки поиска]