Point value expected

  • Автор темы Автор темы qsedftghk
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

qsedftghk

фея
Топикстартер
15 лет на форуме
Сообщения
2 038
Реакции
1 203
Простой скрипт (для примера):
Код:
var appRef = WScript.CreateObject("Illustrator.Application.4");
var newDoc = appRef.documents.add();
newDoc.rulerOrigin = Array(0,0);

Сохраняем как 11111111111111.js и два раза щелкаем мышкой по файлу. Открывается софтина (версия СS3), создается новый док, а затем выдает окошечко:
22222222222222222222.gif

Вопрос. Как в таком случае задать rulerOrigin?

В скриптах, запускаемых непосредственно из программы, синтаксис Array(0,0); - это нормально. Но мне нужно запускать скрипт из-под среды, и хотелось бы реализовать это на Jscript, а не на VBScript, где данный пример работает на ура:
Код:
Set appRef = CreateObject("Illustrator.Application.4")
Set newDoc = appRef.Documents.Add
newDoc.rulerOrigin = Array(0,0)
 
Ответ: Point value expected

Попробуйте

newDoc.rulerOrigin = [0, 0];
 
Ответ: Point value expected

Я конечно туп, но не настолько. Опробовано уже куча вариантов. Запись [0,0] это тоже самое, что и Array(0,0). Очень не хочется писать весь код на бейсике, а в чём проблема с массивом на Jscript я не понимаю.
 
Ответ: Point value expected

Прихожу к мысли, что совместить код на javascript и код на Jscript в одном файле не получится =(
 
Ответ: Point value expected

Я конечно туп, но не настолько. Опробовано уже куча вариантов.

Это было неудачное предположение: пропущено слово new, а у JScript так много странностей.)

newDoc.rulerOrigin возвращает значение типа VBArray. Нет возможности средствами JScript создать или изменить такой объект. Но если так хочется писать на JScript, то можно в одном скрипте комбинировать код:

Код:
<job>
	<script language="JScript">
		var appRef = WScript.CreateObject("Illustrator.Application");
		var newDoc = appRef.documents.add();
	</script>

	<script language="VBScript">
		newDoc.rulerOrigin = Array(0, 0)
	</script>
</job>

Сохраните такой файл с расширением WSF и запускайте двойным щелчком
 
Ответ: Point value expected

Спасибо за разъяснение. Теперь понятно.
 
Ответ: Point value expected

Еще добавлю, что
Код:
newDoc.rulerOrigin = new Array(0, 0);

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