Illustrator.Application.4 и Illustrator.Application

Статус
Закрыто для дальнейших ответов.

qsedftghk

фея
Топикстартер
15 лет на форуме
Сообщения
2 032
Реакции
1 198
В системе стоят два пакета CS3 и CS5.
Есть скрипт vbs, в нем есть такие строки:
Код:
Set appRef = CreateObject("Illustrator.Application.4")
Set docRef = appRef.ActiveDocument  
...
тра-та-та
.
Set aiDocPreset = CreateObject("Illustrator.DocumentPreset")
aiDocPreset.DocumentUnits = aiUnitsMM
aiDocPreset.Width = 42
aiDocPreset.Height = 42
Set aiDocOut = appRef.Documents.AddDocument("b",aiDocPreset)

При запуске данного vbs, в текущем документе открытом в CS3 (так как CreateObject("Illustrator.Application.4")) делается что-то, а затем, при выполнении кода после слов "тра-та-та" начинается кака. Открывается CS5.
Вопрос. Как создать новый документ в CS3 (на vbs), чтобы не открывался CS5 и документ не создавался там?
И вообще, почему открывается CS5? Ведь appRef вроде ссылается на CS3. Поясните пожалуйста.
 

Fog_patch

12 лет на форуме
Сообщения
3 163
Реакции
998
Ответ: Illustrator.Application.4 и Illustrator.Application

CreateObject("Illustrator.DocumentPreset") вызывает тот иллюстратор, который зарегистрирован в системе. Обычно это последний установленный, не обязательно самый свежий. Нажимаем Win+R пишем туда Illustrator давим Enter. Вот что запустится, то и зарегистрировано как Illustrator.
Как лечить не знаю, я не держу разные версии.
 

qsedftghk

фея
Топикстартер
15 лет на форуме
Сообщения
2 032
Реакции
1 198
Ответ: Illustrator.Application.4 и Illustrator.Application

Я пока нашел выход, делая примерно так: appRef.DoJavaScript("documents.add();")... Ну, или можно скриптовать в WSF-файлах, как выяснилось в прошлой теме, но всё же это грустно и как всегда через ж.
 

ch_alex

Погулять вышел.
15 лет на форуме
Сообщения
8 420
Реакции
2 709
Ответ: Illustrator.Application.4 и Illustrator.Application

В системе стоят два пакета CS3 и CS5.
И оба на лицензии? Или у новой версии триальная лицензия?
Удалите ту, кторой не будете пользоваться.
 

qsedftghk

фея
Топикстартер
15 лет на форуме
Сообщения
2 032
Реакции
1 198
Ответ: Illustrator.Application.4 и Illustrator.Application


Не по теме:
О, да, как же без этого... Я конечно глуп, но не настолько.
 

Nano

Участник
Сообщения
47
Реакции
100
Ответ: Illustrator.Application.4 и Illustrator.Application

Может быть так:

Код:
Set appRef =  WScript.CreateObject("Illustrator.Application.4")
Set docRef = appRef.ActiveDocument  
'...
'тра-та-та
'.
pointsPerMM = 2.835

'Add  [documentColorSpace]  [, width]   [, height]
Set aiDocOut = appRef.Documents.Add(docRef.DocumentColorSpace,  42 * pointsPerMM , 42 * pointsPerMM)

Я пока нашел выход, делая примерно так: appRef.DoJavaScript
Собственные скрипты AI и быстрее и работают на Win/Mac и отлаживать удобней через ExtendScript Toolkit. Откройте секрет зачем вы так мучаетесь с полным граблей Windows Script Host?
 

Fog_patch

12 лет на форуме
Сообщения
3 163
Реакции
998
Ответ: Illustrator.Application.4 и Illustrator.Application

Nano

Что значит "Собственные скрипты AI"?
 

qsedftghk

фея
Топикстартер
15 лет на форуме
Сообщения
2 032
Реакции
1 198
Ответ: Illustrator.Application.4 и Illustrator.Application

Этот способ, я уже не помню почему, меня не устроил. Про собственные скрипты AI я знаю, ExtendScript Toolkit - бя, очень редко им пользуюсь, как раз только тогда, когда совсем не отловить ошибку.
Скрипт запускается из exe-приложения. Запускает AI и т.д. Параметры скрипту из exe передаются через реестр, поэтому WSH. Вообщем, надо мне так. Да, я и не мучаюсь, просто был неприятно удивлен такой штукой. На vb практически не кодю, поэтому, думал, может что не догоняю. Да, в принципе, проблему решил с помощью appRef.DoJavaScript("код на js"). Все упростилось моментально. А вообще, прихожу к тому, что нужно наконец-таки засесть за SDK.
 

qsedftghk

фея
Топикстартер
15 лет на форуме
Сообщения
2 032
Реакции
1 198
Ответ: Illustrator.Application.4 и Illustrator.Application

Fog_patch ,собственные, в смысле написанные на Vbscript или Javascript. Я же пишу код под Windows Script Host. Получается мешанина, но работающая, черт бы ее побрал! =)
 

Fog_patch

12 лет на форуме
Сообщения
3 163
Реакции
998
Ответ: Illustrator.Application.4 и Illustrator.Application

Что-то какая-то каша произошла, по-моему. Иллюстратору что vbs что js — всё едино. Там парсер стоит для двух синтаксисов. Vbs без Windows Script Host работать не будет.

И, кстати, ExtendScript Toolkit, imho, даже близко не конкурент VisualStudio в плане написания и отладки.
 

Nano

Участник
Сообщения
47
Реакции
100
Ответ: Illustrator.Application.4 и Illustrator.Application

"Собственные" скрипты те, что в меню
File > Scripts

Примеры лежат в папке
/Applications/Adobe Illustrator CS4/Presets.localized/en_US/Scripts

Посмотрите, там другая объектная модель. Есть глобальные объекты app, $, конструкторы File, Folder. А в WSH доступ к приложениям через new ActiveXObject, доступ к файлам через FileSystemObject.

Cинтаксис, да одинаков - ECMAScript
http://ru.wikipedia.org/wiki/ECMAScript
 

qsedftghk

фея
Топикстартер
15 лет на форуме
Сообщения
2 032
Реакции
1 198
Ответ: Illustrator.Application.4 и Illustrator.Application


Не по теме:
Я могу только сказать Fog_patch и Nano спасибо за участие и подсказки. Остальное - я бы попросил стереть из данной темы, ибо толку спорить-то? Вас больше, я один.
 

lev

Модератор
20 лет на форуме
Сообщения
2 147
Реакции
2 072
Ответ: Illustrator.Application.4 и Illustrator.Application

Такой вариант не проходит?
Код:
Set aiDocPreset = CreateObject("Illustrator.DocumentPreset.4")
 

qsedftghk

фея
Топикстартер
15 лет на форуме
Сообщения
2 032
Реакции
1 198
Ответ: Illustrator.Application.4 и Illustrator.Application

Lev, это было первое, что пришло в голову. Но, увы:
Невозможно создание объекта контейнером ActiveX: 'Illustrator.DocumentPreset.4'
 
Статус
Закрыто для дальнейших ответов.