Подскажите чайнику
11/01/2008 18:30:11
#Link
Здраствуйте!
Помогите чайнику стать немного самоваром
Есть задача написать макрос для 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
Re: Подскажите чайнику
11/01/2008 20:19:16
#Link
lusin а зачем? это два клика мышью
Re: Подскажите чайнику
15/01/2008 11:59:19
#Link
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
Re: Подскажите чайнику
15/01/2008 12:01:21
#Link
Вот тут поторопился - убери в моём примере:
Dim OrigSelection As ShapeRange
Оно не нужно :-)))
Re: Подскажите чайнику
15/01/2008 12:03:00
#Link
Цитата:
monter wrote:
lusin а зачем? это два клика мышью :-)
А если таких объёктов 1000?..
:-)
Re: Подскажите чайнику
15/01/2008 21:11:48
#Link
magnus_z ctrl+a, левой мышей на прозрачности, правой на ккаком-то цвете, потом в свойства обводдки, ставим нужные параметры (типа скругления углов или толщину или еще что-то), потом ctrl+q, ctrl+g, все кроме этой группы удалить, выделить группу и ctrl+u (не часто у меня возникает необходимость в таких действиях, но они все производятся нажатие хоткеев и потому я и спрашивал о целефообразности
Re: Подскажите чайнику
16/01/2008 14:12:13
#Link
оказывается всё до безумия просто, делов то запомнить исходную фигуру а затем удалить ее
всем большое спасибо за помощь
Re: Подскажите чайнику
30/01/2008 4:26:05
#Link
Здравствуйте!
Люди добрые подскажите! Есть макрос который экспортирует выделеный объект в EPS в строго указаное место и под строго указаным именем. Как сделать что бы он экспортировал в строго указанное место но каждый раз под новым именем?
Надеюсь на вашу помощь!
Re: Подскажите чайнику
01/02/2008 4:02:15
#Link
ну может хоть кто нить подскажет как решить этот вопрос?!
Re: Подскажите чайнику
01/02/2008 6:16:45
#Link
Цитата:
VUV wrote: ну может хоть кто нить подскажет как решить этот вопрос?!
Эта задача для VB, для VBA решается так же.
При экспорте нового файла задай ему новое имя. Здесь, к примеру, имя можно сделать состоящим из года, месяца, дня, часа, минуты и секуды - тогда твои имена точно будут уникальными :-)))
В этом случае имя экспортируемого eps будет:
Format(Date, "yymmdd") & Format(Time, "hhmmss") & ".eps"
Или исползуй генератор случайных чисел.
Или добавляй в начало (или в конец, перед ".eps") файла порядковый номер.
Решений может быть множество - выбирай любое :-)
Источник: https://powerclip.ru/modules/newbb/viewtopic.php?topic_id=7013&start=0