Если есть вопросы по скриптам

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

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Ответ: скрипты CS2 для CS4 и CS5

Вы их код смотрели? Там же автор указан :), к нему и обратитесь. А в vbs-овском в первой строке для начала смените версию и попробуйте запустить.
 

hits

Участник
Сообщения
3
Реакции
0
Ответ: Если есть вопросы по скриптам

автор молчит... думаю вас подоставать.
 

rams84

Участник
Сообщения
107
Реакции
0
Ответ: Если есть вопросы по скриптам

Добрый день
Есть скрипт закрашивающий фон ячеек в таблице с текстом:
myColor = 'Фон ячеек';//в кавычки вписываешь название своего образца
myTable = app.selection[0];
for(i=0;i<myTable.cells.length;i++)
if(myTable.cells.contents)
myTable.cells.fillColor=myColor;
Подскажите пожалуйста что дописать чтобы закрашивался не только фон, но и рамку.
 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Ответ: Если есть вопросы по скриптам

PHP:
myTable.cells[i].bottomEdgeStrokeColor = 
myTable.cells[i].leftEdgeStrokeColor = 
myTable.cells[i].rightEdgeStrokeColor = 
myTable.cells[i].topEdgeStrokeColor =
 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Ответ: Если есть вопросы по скриптам

PHP:
myColor = 'sw1';//в кавычки вписываешь название своего образца
myTable = app.selection[0];
for(i=0;i<myTable.cells.length;i++){
	if(myTable.cells[i].contents){
		myTable.cells[i].fillColor=myColor;
		myTable.cells[i].bottomEdgeStrokeColor = myColor;
		myTable.cells[i].leftEdgeStrokeColor = myColor;
		myTable.cells[i].rightEdgeStrokeColor = myColor;
		myTable.cells[i].topEdgeStrokeColor =  myColor;
}
}
У меня почему-то сработало :).
 

Вложения

  • cell.jpg
    cell.jpg
    63.4 КБ · Просм.: 876

rams84

Участник
Сообщения
107
Реакции
0
Ответ: Если есть вопросы по скриптам

PHP:
myColor = 'sw1';//в кавычки вписываешь название своего образца
myTable = app.selection[0];
for(i=0;i<myTable.cells.length;i++){
	if(myTable.cells[i].contents){
		myTable.cells[i].fillColor=myColor;
		myTable.cells[i].bottomEdgeStrokeColor = myColor;
		myTable.cells[i].leftEdgeStrokeColor = myColor;
		myTable.cells[i].rightEdgeStrokeColor = myColor;
		myTable.cells[i].topEdgeStrokeColor =  myColor;
}
}
У меня почему-то сработало :).

Спасибо, теперь понял причина была в {}
 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Ответ: Если есть вопросы по скриптам

Друзья, кто-нибудь проверял в InDesing CS3 возможность использования UI элемента "tabbedpanel"? В двух источниках, которыми я пользуюсь, утверждается, что он используется, начиная именно с этой версии, но у меня почему-то пишет, что этот элемент ему неизвестен. И в ESTK в перечне UI классов его не нахожу. Спасибо.
 

iv-mi

15 лет на форуме
Сообщения
564
Реакции
380
Ответ: Если есть вопросы по скриптам

Питер Карел (Peter Kahrel) в своем толковом описании ScriptUI на с. 22-23 рассказывает об этой инструкции, есть работающий пример. Взять руководство можно тут: http://adobeindesign.ru/2010/10/13/scriptui-dlya-chajnikov/

И возможно, из=за того, что tabbedpanel -- это шататный инструмент JavaScript, он не упоминается в ESTK в перечне UI классов, т.к. там описаны только дополнительные инструменты применительно к индизайну.
 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Ответ: Если есть вопросы по скриптам

Ув. iv-mi, вот этот пример:
PHP:
var w = new Window ("dialog", "Export XML", undefined, {closeButton: false});
w.alignChildren = "right";
var tpanel = w.add ("tabbedpanel");
tpanel.alignChildren = ["fill", "fill"];
tpanel.preferredSize = [350,300];
var general = tpanel.add ("tab", undefined, "General");
general.alignChildren = "fill";
var g_options = general.add ("panel", undefined, "Options");
g_options.alignChildren = "left";
g_options.dtd_decl = g_options.add ("checkbox", undefined, "Include DTD Declaration");
g_options.view_XML = g_options.add ("checkbox", undefined, "View XML Using: ");
g_options.export_sel = g_options.add ("checkbox", undefined, "Export From Selected Element");
g_options.export_untagged = g_options.add ("checkbox", undefined, "Export Untagged Tables as CALS XML");
g_options.remap = g_options.add ("checkbox", undefined, "Remap Break, Whitespace, and Special Characters");
g_options.xslt = g_options.add ("checkbox", undefined, "Apply XSLT: ");
g_options.add ("statictext", undefined, "Encoding: ");
var images = tpanel.add ("tab", undefined, "Images");
images.alignChildren = "fill";
var img_options = images.add ("panel", undefined, "Image Options");
var buttons = w.add ("group");
buttons.add ("button", undefined, "Export", {name: "ok"});
buttons.add ("button", undefined, "Cancel");
w.show ();
Выдает ошибку (см. скрин).
Повторюсь: версия CS3. У кого есть возможность, просьба проверить у себя в этой версии.
 

Вложения

  • tabbedpanelerror.jpg
    tabbedpanelerror.jpg
    31 КБ · Просм.: 883

LeshikSan

15 лет на форуме
Сообщения
266
Реакции
185
Ответ: Если есть вопросы по скриптам

Никакой это не штатный инструмент, у js свое только alert да confirm.
В CS3 tabbedpanel не работает, хотя и заявлена (не единичный случай). В CS4/5 работает только в режиме autoLayout
 

boriskasmoscow

15 лет на форуме
Сообщения
343
Реакции
410
Ответ: Если есть вопросы по скриптам

LeshikSan, пожалуйста объясните, что такое режим autoLayout. Спасибо.
 

similideus

12 лет на форуме
Сообщения
671
Реакции
349
Ответ: Если есть вопросы по скриптам

AutoLayout это режим, при котором скрипт автоматически задает элементам интерфейса параметры location, size и т.п., определя их взаиморасположение. Придуман для авоматической подгонки пользовательского интерфейса при смене языка (если таковая предусмотрена), ну или для ленивых, когда хочется просто накидать в окно кнопок и не возиться с их позиционированием.

Чем-то похож на выравнивание inline-объектов в веб-формах.

См. «Automatic Layout» в JavaScript Tools Guide.
 

hitsik

Участник
Сообщения
7
Реакции
0
Ответ: Если есть вопросы по скриптам

здравствуйте!

есть скрипт :

PHP:
#target "InDesign"
with (app) {
	scriptPreferences.version = 6;
	try {
		var myDoc = activeDocument;
	} catch (error) {
		exit();
	}
	for (var i=0; i < myDoc.rectangles.length; i++) {
		if (myDoc.rectangles[i].contentType == ContentType.GRAPHIC_TYPE && myDoc.rectangles[i].allGraphics.length > 0 && myDoc.rectangles[i].allGraphics[0].constructor.name == 'Image') {
			with (myDoc.rectangles[i]) {
				fillColor = myDoc.swatches.itemByName('Paper');
				strokeColor = myDoc.swatches.itemByName('Paper');
				strokeWeight = '0.5pt';
				strokeTint = 100;
				strokeAlignment = StrokeAlignment.OUTSIDE_ALIGNMENT;
				textWrapPreferences.textWrapMode = TextWrapModes.BOUNDING_BOX_TEXT_WRAP;
				textWrapPreferences.textWrapOffset = [0,0,0,0]
			}
		}
	};
	alert('ALL DONE!')
}
который не работает на СЦ4 индюке.
он должен ставить белую подложку под картинку в 2мм. или 0,5пт.

что нужно что бы он зароботал?
 

boriskasmoscow

15 лет на форуме
Сообщения
343
Реакции
410
Ответ: Если есть вопросы по скриптам

Сделайте var myDoc = app.activeDocument;
 

hitsik

Участник
Сообщения
7
Реакции
0
Ответ: Если есть вопросы по скриптам

заменил строчку var myDoc = activeDocument; на var myDoc = app.activeDocument;
все по прежнему.
пишет "ALL DONE!"
но белой подложки нет.
 

similideus

12 лет на форуме
Сообщения
671
Реакции
349
Ответ: Если есть вопросы по скриптам

hitsik
В графический фрейм при запуске скрипта вставлена картинка?

У меня честно отрабатывает на CS4. Только 2 мм это должно быть 5 pt.
 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Ответ: Если есть вопросы по скриптам

Конструкция myDoc.rectangles.allGraphics[0].constructor.name == 'Image' "подхватит" только TIFF, JPEG и GIF. Если у Вас EPS, PDF, AI, PSD и т.д. — не сработает (по крайней мере, не должно сработать).
 

hitsik

Участник
Сообщения
7
Реакции
0
Ответ: Если есть вопросы по скриптам

Конструкция myDoc.rectangles.allGraphics[0].constructor.name == 'Image' "подхватит" только TIFF, JPEG и GIF. Если у Вас EPS, PDF, AI, PSD и т.д. — не сработает (по крайней мере, не должно сработать).


вы правы!!! действительно, вот где моя проблема.
но сц2, например, похватывало епс.
как это можно исправить? у меня почти вся графика в епсе ??
 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Ответ: Если есть вопросы по скриптам

constructor.name == 'Epss'... или eps... или epss. Попробуйте синтаксис уже самостоятельно.
 
Статус
Закрыто для дальнейших ответов.