Help! Есть програмисты знающие макрос CorelDRAW?

[b] Сразу извиняюсь если пишу не туда… Но, нужна помощь…
Нужен макрос в CorelDRAW(((
Работаю печатником пластиковых карт, и штрих-коды приходится менять в ручную в CorelDRAW X4 … Когда речь идет на десятки тысяч, очень не легко…
Искал в интернете, ничего дельного не нашел.

Примеры которые нашел, но они не работают: [/b]
(PauseTime = 5
Start = Timer
’ Call AllStartOperations
Do While Timer < Start + PauseTime
DoEvents
Loop
[i]
и вариант со Sleep 2000

Задерживает, но баркодер все равно застряёт.

Пробую пойти по другому пути.

Хочу сделать: меняю выделенный баркод, дублирую его на нужное место, меняю баркод дубля и так далее.
[/i]
Sub Macro2()

Dim OrigSelection As ShapeRange
Set OrigSelection = ActiveSelectionRange

CorelScript.OLEObjectDoVerb (0)
SendKeys “{DEL}{TAB}{DEL}+{TAB}870000100001{ENTER}{ENTER}{E NTER}”, True

Dim dup1 As ShapeRange
Set dup1 = OrigSelection.Duplicate()
dup1.Move 1.732283, 0#

CorelScript.OLEObjectDoVerb (0)
SendKeys “{DEL}{TAB}{DEL}+{TAB}870000100001{ENTER}{ENTER}{E NTER}”, True

Dim dup2 As ShapeRange
Set dup2 = dup1.Duplicate()
dup2.Move 1.732283, 0#

CorelScript.OLEObjectDoVerb (0)
SendKeys “{DEL}{TAB}{DEL}+{TAB}870000100001{ENTER}{ENTER}{E NTER}”, True

Dim dup3 As ShapeRange
Set dup3 = dup2.Duplicate()
dup3.Move 1.732283, 0#

CorelScript.OLEObjectDoVerb (0)
SendKeys “{DEL}{TAB}{DEL}+{TAB}870000100001{ENTER}{ENTER}{E NTER}”, True

End Sub

Но баркод меняется только выделенный первоначально.
wOxxOm, помоги.

wOxxOm:
нужно выделять дубль:
dup1.Move 1.732283, 0#
dup1.CreateSelection


В кореле делаем небольшие тиражи ~1000шт
пользуемся простеньким макросом:

Public Count

Sub AutoBarCode()
Count = 4000960# `здесь указываем стартовое значение ШК (в данном примере ЕАН-8)

Do

CorelScript.OLEObjectDoVerb (0) вызываем Bar Code Vizard SendKeys "{DEL}", TrueИмитируем ввод данных с клавиатуры
Count = Count + 1
SendKeys Count, True Имитируем ввод данных с клавиатуры SendKeys "{ENTER}", True Имитируем ввод данных с клавиатуры
SendKeys “{ENTER}”, True Имитируем ввод данных с клавиатуры SendKeys "{ENTER}", True Имитируем ввод данных с клавиатуры

SendKeys “{TAB}”, True Переходим к следующему ШК, начало блока CorelScript.OLEObjectDoVerb (0) SendKeys "{DEL}", True Count = Count + 1 SendKeys Count, True SendKeys "{ENTER}", True SendKeys "{ENTER}", True SendKeys "{ENTER}", TrueКонец блока. данный блок надо скопировать столько раз сколько у вас ШК на листе минус один.
`В данном примере идет 5 ШК
SendKeys “{TAB}”, True
CorelScript.OLEObjectDoVerb (0)
SendKeys “{DEL}”, True
Count = Count + 1
SendKeys Count, True
SendKeys “{ENTER}”, True
SendKeys “{ENTER}”, True
SendKeys “{ENTER}”, True

SendKeys “{TAB}”, True
CorelScript.OLEObjectDoVerb (0)
SendKeys “{DEL}”, True
Count = Count + 1
SendKeys Count, True
SendKeys “{ENTER}”, True
SendKeys “{ENTER}”, True
SendKeys “{ENTER}”, True

SendKeys “{TAB}”, True
CorelScript.OLEObjectDoVerb (0)
SendKeys “{DEL}”, True
Count = Count + 1
SendKeys Count, True
SendKeys “{ENTER}”, True
SendKeys “{ENTER}”, True
SendKeys “{ENTER}”, True
SendKeys “{TAB}”, True

ActiveDocument.PrintOut отправляем полученный лист на принтер Loop While MsgBox(Count, vbYesNo, "Done?") = vbYes Здесь вывод на экран на контроль последнего кода, используется для отладки
`можно вставить Loop While (Count<число последнего ШК+1)

End Sub

Всем заранее огромное спасибо) Надеюсь найти помощь…

Вам именно в Кореле надо?
Другие языки не подходят?

Нужно в Кореле…( Печатаем только от туда… Хотя можно все проще сделать в других программах… Но, решает начальство.

Инструкции и плагины есть тут:
http://powerclip.ru/modules/newbb/print.php?form=1&topic_id=6733&forum=19&order=ASC&start=0
http://cdrpro.ru/forum/13-132-1

1 лайк

Был я на этих сайтах… Ничем к сожалению они мне не помогли) Почти все ссылки не рабочие… + Макрос платный и к тому же демо версия не подходит к версии Корела который у меня…

Блин… Ты же сам печатаешь кредитки. Неужели не можешь купить полную версию скрипта? :bayan:

1 лайк

Только не говорите, что Корел Вы тоже не купили?

Sunsay, надеюсь, Вы не печатаете дома кредитки, номера которых были украдены у других людей?

Могу, но она как и демка не пойдет… т.к. сделана так же

Не в коем случаи… Серьезная организация)

Спасибо. Названия, конечно, у неё нет?

Почему еще важно код… Мне просто могут не разрешить устанавливать на PC ничего…

Если организация серьезная, то пару десятков баксов для неё - не проблема.

а что, пластиковые карточки могут быть только кредитными? как насчет учета рабочего времени, гифт карт, клубных карт и т.д.?

проблема может быть в менталитете начальства, которое ни в какую покупать ничего не хочет. :letmein: знаем… плавали…:!:!

Все легко.
Подсчитываем затраты. Подсчитываем сэкономленное время. Подсчитываем экономию денег на времени. Рисуем красивые графики. Приносим начальству.

Да-да, точно! Их тоже подделывают.

а что, в снг уже ввели почасовую оплату? сиди себе после окончания рабочего дня и работай сколько терпения хватит. начальству, знаете ли, частенько бывает все равно, работаете вы 8 часов в день или 11… на “расходах денег на время” это никак не отражается.

о! кстати, это еще один пункт в тему “чего у вас есть в сша, чего не было на родине” :slight_smile: почасовая оплата!:lang:

Ну бывают филиалы международных компаний.
У нас, например, издержки всех интересовали. А овертаймы оплачивались.

когда я последний раз работала в снг, филиалы-то были кое-какие, но ситуация по слухам в них еще хуже была :slight_smile: мало того, что платили так, как в местных, а спрашивали строже, так еще коллективные гуляния были запрещены :slight_smile:

Ну вы даёте. человек задал конкретный вопрос!
И все во главе с “сами знаете кем” начали учить ТС жизни.
Ответьте по существу, если есть что ответить, я тоже столкнулся с подобной пробл., правда в другом редакторе.