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



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





макросы: по просьбам трудящихся
print | #
Пользователь 1 уровня
Присоединился:
2005/10/21 23:21
Откуда Н. Новгород
Сообщений: 873
Offline
предлагаю созжать такую темку:

очень часто хочется видеть в кореле какую-нибудь штуку, которую даже представляешь как организовать чисто логически, но с VBA не дружишь абсолютно

можно оставлять здесь свои идеи и просьбы, и если кто-то знает, как эту проблему решить, видел такой макрос где-нибудь, или же сможет его написать ( ), то он в этой темке нам поможет, и будет ему всеобщее спасибо...

от "Письма казаков..." темка отличается тем, что мы не просим у корела сделать что-то, а пытаемся сами решить проблему по мере сил

Опубликовано: 2006/9/22 9:03
« 1 2 3 4 (5) 6 »


Re: макросы: по просьбам трудящихся
Титан - модератор
Присоединился:
2006/4/8 19:42
Сообщений: 152
Offline
тогда возможно не закрыта EndCommandGroup

Опубликовано: 2008/5/13 13:27


Re: макросы: по просьбам трудящихся
Новичок
Присоединился:
2008/5/12 23:38
Сообщений: 4
Offline
Цитата:

wOxxOm wrote:
тогда возможно не закрыта EndCommandGroup

Выкладываю исходный текст подпрограммы, может кому-то пригодится, может кто подскажет где ошибка, почему нет перерисовки:

Sub export_jpg()
' -- Объявление переменных, установка счетчика документов --
Dim b1 As Shape, s1$, s2$, s3$, s4$, a1!, a2!, a3!, yr#, xr#, xk#, yk#
a3 = CorelDRAW.Documents.Count
For i = 1 To a3
' ------------------- Установка листа в формат А4 -----------------
ActiveDocument.ActiveWindow.Refresh
ActiveDocument.Unit = cdrMillimeter
ActiveWindow.ActiveView.SetViewPoint 105, 148.5, 100
ActiveDocument.MasterPage.SetSize 210, 297
With ActiveDocument.MasterPage
.Orientation = cdrPortrait
.PrintExportBackground = True
.Bleed = 0#
.Background = cdrPageBackgroundNone
End With
'-- Группировка объектов, подгонка к листу, установка по центру --
Set b1 = ActivePage.Shapes.All.Group
xr = b1.SizeWidth
yr = b1.SizeHeight
If yr / xr < 1.41 Then
xk = 205 / xr
b1.SizeWidth = xr * xk
b1.SizeHeight = yr * xk
Else:
yk = 290 / yr
b1.SizeHeight = yr * yk
b1.SizeWidth = xr * yk
End If
' ----------------- Установка путей и экспорт в jpg ---------------
b1.AlignToPageCenter cdrAlignHCenter + cdrAlignVCenter, cdrTextAlignBoundingBox
s1 = ActiveDocument.Name
s2 = ActiveDocument.FilePath
s3 = s2 + s1 + ".jpg"
s4 = s2 + s1 + ".cdr"
ActiveDocument.Unit = cdrPoint
ActiveLayer.Shapes.All.CreateSelection
a1 = Int(ActiveSelection.SizeWidth)
a2 = Int(ActiveSelection.SizeHeight)
Dim expflt As ExportFilter
Set expflt = ActiveDocument.ExportBitmap(s3, cdrJPEG, cdrAllPages, cdrRGBColorImage, a1, a2, 72, 72, cdrNormalAntiAliasing, False, False, True, False, cdrCompressionNone)
With expflt
.Progressive = False
.Optimized = False
.SubFormat = 0
.Compression = 10
.Smoothing = 10
.Finish
End With
ActiveDocument.ClearSelection
' ------------------- Сохранение файла в формате Х3 -------------
Dim SaveOptions As StructSaveAsOptions
Set SaveOptions = New StructSaveAsOptions
With SaveOptions
.EmbedVBAProject = True
.Filter = cdrCDR
.IncludeCMXData = False
.Range = cdrAllPages
.EmbedICCProfile = False
.ThumbnailSize = cdr10KColorThumbnail
.Version = cdrCurrentVersion
End With
ActiveDocument.SaveAs s4, SaveOptions
ActiveDocument.Close
' --------------------------Следующий документ ------------------
Next i
End Sub

Опубликовано: 2008/5/13 22:35

Edited by ms2008 on 13/05/2008 22:54:37
Edited by ms2008 on 13/05/2008 23:37:19


Re: макросы: по просьбам трудящихся
Титан - модератор
Присоединился:
2006/4/8 19:42
Сообщений: 152
Offline
1. в конце цикла перед next мож надо DoEvents
2. более традиционный перебор доков:
dim curDoc as document
for each curDoc in Documents
    curDoc.Activate
   ........' внутри цикла писать CurDoc вместо всех ActiveDocument
next

но тогда закрывать их надо после цикла уже, или делать так:

dim curDoc as document, curIdx&
for curIdx=Documents.Count to 1 step -1
   set curDoc = Documents(curIdx)
   curDoc.Activate
   ........' внутри цикла писать CurDoc вместо всех ActiveDocument
next

Опубликовано: 2008/5/13 22:40


Re: макросы: по просьбам трудящихся
Пользователь 2 уровня
Присоединился:
2007/2/7 10:40
Сообщений: 42
Offline
можно ли в форму добавить контекстное меню (копировать, вставить, вырезать)

Опубликовано: 2008/7/3 10:06


Re: макросы: по просьбам трудящихся
Новичок
Присоединился:
2008/7/3 15:53
Сообщений: 3
Offline
К вопросах о штрихкодировании.

Пробемма решается довольно просто внедрением Active x объектов. Есть такая програмулинка Active Barcode которая прописывается во всех приложениях использующих технологию OLE - весь пакет ms office, корка не исключение ...
Вот так запросто подцепляешь к ней переменную и готово, хотя с высоты опыта подобных работ могу сказать что делать это именно в корке не удобно даи медленно. Для таких задачь лучше всего подходят программы заточеные на работу с БД Сделать это даже для обычного юзверя - пара пустяков например чудно подходит Acces, а графический файл вместо подложки можно выгрузить и джипегом и MMF - кой. При чем тут есть еще одна интересная вещь - если бар кодов не 300 а 3 000 000 шт и должны быть напечатаны так, чтобы после того как порежешь пачечками они последовательно должны быть (так называемоя персонализация "Насквозь" вот тут то голову поломаешь хотя все это я давно для себя решил)

Опубликовано: 2008/7/3 16:09

Edited by Tonik on 03/07/2008 16:33:15


Re: макросы: по просьбам трудящихся
Новичок
Присоединился:
2008/7/3 15:53
Сообщений: 3
Offline
Нумерация

Лично я делаю просто верстаю в корке, далее гружу в PDF а в профессиональной версии проставить номера страниц - занимает 2 секунды убрать где нужно где не нужно по маске или ручками - все возможно правая и левая сторона то же не проьлемма кстати а спуски в акробате делать с помощью специального плагина - одно удовольствее. И еще не маловажная тема для препресс подготовки лучше формат PDF очень близок к posscript - PS то бишь поэтому глюков значительно меньше и PIP processing занимает гораздо меньще времени если файл большой

Опубликовано: 2008/7/3 16:15

Edited by Tonik on 03/07/2008 16:40:26


Re: макросы: по просьбам трудящихся
Новичок
Присоединился:
2008/7/3 15:53
Сообщений: 3
Offline
Как сохранить результат персонализации (Print marge) в корке. Если не обязательно коркой, то есть чудный способ с помошью риславутового print marge только печатать файл на PDF притер (скажем готовыми листами) или по одной в размер визитки. Т.е в итого получаем файл PDF - многостраничный каждая страница - визитка. Ну если всёж в коркл нужно то PDF чудненько (многостаничная) импортируется в корел при чем странички сами автоматом создадуться

Опубликовано: 2008/7/3 16:22

Edited by Tonik on 03/07/2008 16:47:51


Re: макросы: по просьбам трудящихся
Титан
Присоединился:
2005/10/2 14:57
Откуда Москва
Сообщений: 6779
Offline
не знаю макрос это будет, скрипт или плуг
не разбираюсь в отличиях.

краткая предыстория: девушка села за иллюстратор, скоренько его освоила, несколько дней что-то всего понарисовала в одном файле. а потом бац - и файл не открывается. слезы, а как восстановить? ну и т.д.

вот я и подумал, может можно какую-нибудь мульку к иллу состряпать, как в кореле.
сохраняется измененный файл *.ai, и тут же сохраняется неизмененная копия открытого файла backup_of_*.ai.

мне-то не надо, но для илльщиков думаю хорошая помощь в сохранении нервных клеток будет

__________________________________

вот блин, тока заметил что тема про карел вба... ну и ладна

Опубликовано: 2008/9/20 20:17
_________________
[икс́эм]


Re: макросы: по просьбам трудящихся
Пользователь 2 уровня
Присоединился:
2007/2/7 10:40
Сообщений: 42
Offline
У меня проблема такая: есть макрос, который работает в 10 Кореле, на 11 и 13 не работает. Выдает синтаксические ошибки на таких казалось бы простых процедурах как Year(date), chr(13) и Mid("слово", 1,1) и др. Я вообщем не программист (предыдущий макрос писал методом тыка), уже несколько дней пытаюсь переписать макрос чтоб работал но безуспешно.

В 10кореле вижелбейсик 6,0, в 11 - 6,3. Вопрос то в том: это из-за разнице синтаксиса версий бейсика или из-за чего-то другого (тогда чего?)?

Опубликовано: 2008/11/9 22:48


Re: макросы: по просьбам трудящихся
Титан - модератор
Присоединился:
2006/4/8 19:42
Сообщений: 152
Offline
izrukvruki - скорее всего проще создать новый GMS файл в новом Corel для макроса и скопировать копипастом старый код в текстовом виде.

p.s. Причина скорее всего в Tools->References

Опубликовано: 2008/11/10 14:26



« 1 2 3 4 (5) 6 »




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

      ПРИМЕР


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



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