Импортировать стили с шорткатами готовыми из документа - не вариант совсем?Подскажите пожалуйста, можно ли задать shortcut объектному стилю через скрипт?
Не подумал над таким вариантом. Буду иметь ввиду как "план Б".Импортировать стили с шорткатами готовыми из документа - не вариант совсем?
Насколько помню, такой возможности нет. Для подобной задачи давно делал комбинацию скрипта и сниппета, который содержит все нудные стили. Код сниппета распаковывался прямо из скрипта в файл, затем сниппет импортировался в документ.Но в скрипте было бы удобнее.
Понял. Тогда не буду искать больше.Насколько помню, такой возможности нет.
// Назначение сочетания клавиш объектному стилю
app.doScript(main, ScriptLanguage.JAVASCRIPT, undefined, UndoModes.ENTIRE_SCRIPT, "Назначить сочетание клавиш объектному стилю");
function main() {
if (app.documents.length === 0) {
alert("Ошибка: Нет открытых документов. Пожалуйста, откройте документ и попробуйте снова.");
return;
}
// Имя объектного стиля, которому нужно назначить сочетание клавиш
var styleName = "ИмяВашегоСтиля";
// Сочетание клавиш (например, Ctrl+Shift+F)
var shortcutString = "0 70 1 1179648"; // Ctrl+Shift+F
// Получаем активный документ
var doc = app.activeDocument;
try {
// Находим объектный стиль по имени
var objectStyle = doc.objectStyles.itemByName(styleName);
if (!objectStyle.isValid) {
throw new Error("Объектный стиль '" + styleName + "' не найден");
}
// Назначаем сочетание клавиш
var menuAction = app.menuActions.itemByName("$ID/" + objectStyle.id);
if (!menuAction.isValid) {
throw new Error("Не удалось найти соответствующее действие меню для стиля");
}
menuAction.shortcutKey = shortcutString;
alert("Сочетание клавиш успешно назначено для стиля '" + styleName + "'");
} catch (e) {
alert("Произошла ошибка: " + e.message);
}
}
JavaScript:// Назначение сочетания клавиш объектному стилю app.doScript(main, ScriptLanguage.JAVASCRIPT, undefined, UndoModes.ENTIRE_SCRIPT, "Назначить сочетание клавиш объектному стилю"); function main() { if (app.documents.length === 0) { alert("Ошибка: Нет открытых документов. Пожалуйста, откройте документ и попробуйте снова."); return; } // Имя объектного стиля, которому нужно назначить сочетание клавиш var styleName = "ИмяВашегоСтиля"; // Сочетание клавиш (например, Ctrl+Shift+F) var shortcutString = "0 70 1 1179648"; // Ctrl+Shift+F // Получаем активный документ var doc = app.activeDocument; try { // Находим объектный стиль по имени var objectStyle = doc.objectStyles.itemByName(styleName); if (!objectStyle.isValid) { throw new Error("Объектный стиль '" + styleName + "' не найден"); } // Назначаем сочетание клавиш var menuAction = app.menuActions.itemByName("$ID/" + objectStyle.id); if (!menuAction.isValid) { throw new Error("Не удалось найти соответствующее действие меню для стиля"); } menuAction.shortcutKey = shortcutString; alert("Сочетание клавиш успешно назначено для стиля '" + styleName + "'"); } catch (e) { alert("Произошла ошибка: " + e.message); } }
app.doScript(main, ScriptLanguage.JAVASCRIPT, undefined, UndoModes.ENTIRE_SCRIPT, "Назначить сочетание клавиш объектному стилю");
function main() {
if (app.documents.length === 0) {
alert("Ошибка: Нет открытых документов. Пожалуйста, откройте документ и попробуйте снова.");
return;
}
// Имя объектного стиля, которому нужно вам назначить сочетание клавиш
var styleName = "ИмяВашегоСтиля";
// Сочетание клавиш (например, Ctrl+Shift+F)
var shortcutString = "0 70179648"; // Ctrl+Shift+F
// Получаем активный документ
var doc = app.activeDocument;
try {
// Находим объектный стиль по имени
var objectStyle = doc.objectStyles.itemByName(styleName);
if (!objectStyle.isValid) {
throw new Error("Объектный стиль '" + styleName + "' не найден");
}
// Создаем уникальное имя для действия меню
var actionName = "ApplyObjectStyle_" + objectStyle.id;
// Проверяем, существует ли уже такое действие
var existingAction = app.menuActions.item(actionName);
if (!existingAction.isValid) {
// Если действие не существует, создаем новое
var newAction = app.menuActions.add(actionName);
newAction.area = MenuAreaGlobal;
newAction.eventListener = function() {
app.selection[0].applyObjectStyle(objectStyle, true);
};
}
// Назначаем сочетание клавиш
var menuAction = app.menuActions.item(actionName);
menuAction.shortcutKey = shortcutString;
alert("Сочетание клавиш успешно назначено для стиля '" + styleName + "'");
} catch (e) {
alert("Произошла ошибка: " + e.message);
}
}