Невозможно выполнить скрипт в строке After Effects

Обновлено: 23.11.2024

Сообщество коллег по поддержке для профессионалов медиапроизводства.

Форумы › Adobe After Effects Expressions › Скрипт работает правильно при запуске вручную, но выдает ошибку при запуске при запуске

Грегори Форстер

У меня есть сценарий, который работает правильно, когда я загружаю проект и запускаю его самостоятельно. Однако, когда я запускаю его при запуске, помещая его в папку StartUp, я получаю эту ошибку:

"Невозможно выполнить сценарий в строке 1. Ошибка After Effects: невозможно вызвать "элемент" из-за параметра 1. Диапазон не имеет значений"

" data-theme="likebtn" data-voting_enabled="false" data-style="" data-unlike_allowed="" data-show_copyright="" data-item_url="https://creativecow.net/forums /thread/script-runs-correctly-when-run-manually-but-it-giv/" data-item_title="Скрипт работает правильно при запуске вручную, но выдает ошибку при запуске" data-item_date=" 2019-03-13T04:05:34+00:00" data-engine="WordPress" data-plugin_v="2.6.42" data-prx="https://creativecow.net/wp-admin/admin-ajax .php?action=likebtn_prx" data-event_handler="likebtn_eh" >

Дэн Эббертс

Было бы полезно, если бы мы могли увидеть сценарий.

" data-theme="likebtn" data-voting_enabled="false" data-style="" data-unlike_allowed="" data-show_copyright="" data-item_url="https://creativecow.net/forums /ответ/1874152/" data-item_date="2019-03-13T04:17:20+00:00" data-engine="WordPress" data-plugin_v="2.6.42" data-prx="https:// creativecow.net/wp-admin/admin-ajax.php?action=likebtn_prx" data-event_handler="likebtn_eh" >

Грегори Форстер

О да, в этом есть смысл…

var compToBeOutput = app.project.item(35);
var comp1 = app.project.item(1);
var numGames = 7;
вар р = 3;

" data-theme="likebtn" data-voting_enabled="false" data-style="" data-unlike_allowed="" data-show_copyright="" data-item_url="https://creativecow.net/forums /ответ/1874153/" data-item_date="2019-03-13T04:29:15+00:00" data-engine="WordPress" data-plugin_v="2.6.42" data-prx="https:// creativecow.net/wp-admin/admin-ajax.php?action=likebtn_prx" data-event_handler="likebtn_eh" >

Дэн Эббертс

Я предполагаю, что даже когда вы запускаете AE, дважды щелкнув файл проекта, любые сценарии запуска запускаются после загрузки подключаемых модулей, но до загрузки проекта. Таким образом, он не будет знать, что делать с app.project.item(35), потому что элементов еще не будет.

" data-theme="likebtn" data-voting_enabled="false" data-style="" data-unlike_allowed="" data-show_copyright="" data-item_url="https://creativecow.net/forums /ответ/1874154/" data-item_date="2019-03-13T05:30:58+00:00" data-engine="WordPress" data-plugin_v="2.6.42" data-prx="https:// creativecow.net/wp-admin/admin-ajax.php?action=likebtn_prx" data-event_handler="likebtn_eh" >

Грегори Форстер

Да, я думаю, что это так. Спасибо.

Я добавил в скрипт .sleep, чтобы он ждал 10 секунд, и проект не загружался, пока скрипты не завершатся.

" data-theme="likebtn" data-voting_enabled="false" data-style="" data-unlike_allowed="" data-show_copyright="" data-item_url="https://creativecow.net/forums /ответ/1874155/" data-item_date="2019-03-13T05:39:07+00:00" data-engine="WordPress" data-plugin_v="2.6.42" data-prx="https:// creativecow.net/wp-admin/admin-ajax.php?action=likebtn_prx" data-event_handler="likebtn_eh" >

Дэн Эббертс

Не знаю, сработает ли это, но я бы попробовал вот что. Оберните код запуска в функцию, сделайте эту функцию частью объекта приложения и запланируйте ее выполнение как задачу через 5 секунд, например так:

Автопредложение помогает быстро сузить результаты поиска, предлагая возможные совпадения по мере ввода.

  • Главная
  • Афтерэффекты
  • Обсуждения
  • "Невозможно выполнить сценарий в строке 1. Файл или папка.

/t5/after-effects-discussions/quot-unable-to-execute-script-at-line-1-file-or-folder-does-not-exist-quot/td-p/8412128 Jul 06, 06 июля 2016 г.

Скопировать ссылку в буфер обмена

Каждый раз, когда я запускаю AfterEffects, я получаю сообщение об ошибке, поскольку оно пытается найти мои недавние проекты. Ошибка выглядит следующим образом: «Невозможно выполнить сценарий в строке 1. Файл или папка не существует». Я не изменил расположение ни одного из моих файлов проекта. Это те же самые внешние диски, которые я использовал в течение нескольких месяцев. Когда я нажимаю OK, одно и то же окно открывается еще несколько раз, а затем, наконец, окно истории открывается совершенно пустым и пустым. Однако я могу повторно открыть проекты из раскрывающегося списка ПОСЛЕДНИЕ ПРОЕКТЫ на верхней панели. Это очень странное и тревожное поведение. Кроме того, я все еще использую 13.7.2, потому что, когда я иду для обновления, он не может подключиться и выдает эту ошибку. Сегодня я сидел с поддержкой Adobe в течение часа, и мы не могли понять это. Поскольку я занят большими проектами, я просто решил не обновляться, но эта ошибка при запуске очень беспокоит.У кого-нибудь есть идея, что может пойти не так или как я могу это исправить?

Большое спасибо за ваше время.

Будьте добры и уважительны, отдавайте должное оригинальному источнику контента и ищите дубликаты перед публикацией. Узнать больше

1 правильный ответ

Хорошо! Только что получил ответ и решение от техподдержки Adobe. Проблема в том, что есть проблема с этими версиями AfterEffects (и сегодня утром я, к своему ужасу, обнаружил ту же проблему в Premiere!) и парой последних версий Mac OS. Решение состоит в том, чтобы закрыть окно библиотеки. Дальше действует нормально. Очевидно, они исправили это в последнем обновлении, но я обнаружил ту же проблему на своем втором компьютере, который был обновлен. В любом случае, если у кого-то еще есть эта проблема, закройте свою библиотеку cc.

Невозможно выполнить скрипт — строка 38454. Undefined не является объектом.

Комплексный набор инструментов для After Effects по монтажу, анимации, импорту/экспорту персонажей, реквизита и камер.

Невозможно выполнить скрипт — строка 38454. Undefined не является объектом.

Я только что попытался установить последнюю версию DUIK Bassel, доступную на веб-сайте сегодня (17 января 2021 г.), вместе с последней версией After Effects CC 2020, и, к сожалению, скрипт не запускается.

Я получаю следующую ошибку, когда пытаюсь запустить скрипт:

Невозможно выполнить скрипт — строка 38454. Undefined не является объектом.

Я могу подтвердить, что пробовал это на 3 разных компьютерах под управлением Windows, After Effects CC 2019 и 2020, проблема остается прежней.

Заранее благодарю за любой совет, который вы можете мне дать. С уважением.

То же самое здесь! Я в затруднительном положении, так как у меня есть срочный проект! Классическая ошибка — пытаться обновить в середине проекта, но напоминание настаивало на том, чтобы сделать это как можно скорее, и я просто не подумал.

Привет, ребята,
У меня точно такая же проблема. Я попытался удалить и установить снова. Устанавливаю разными способами, и каждый раз получаю одно и то же сообщение об ошибке.
У меня iMac Pro с Catalina 10.15.7 и After Effects 17.6.0.
Я установил Duik Bassel.2 16.2.24 на свой MacBook Pro 2 дня назад (под управлением той же ОС и той же версии After Effects), и я не получаю это сообщение об ошибке. Это наводит меня на мысль, что проблема в версии 16.2.25.
Старая версия постоянно просит меня обновиться, но я пока воздержусь.
Заранее спасибо за помощь!

У меня все еще возникают проблемы, когда это сообщение об ошибке продолжает появляться! Поэтому я попытался удалить файл сценария из After Effects, запустить After Effects, вставить файл обратно, запустить его снова, промыть и повторить примерно 5 раз безрезультатно. Мало того, что не работало бы, так еще и при удалении файла и запущенном афтерфейсе Дуик все равно выскакивал. Итак, чтобы начать все сначала, я попытался запустить скрипт «Удалить Duik», включенный в zip-файл, который выдает следующее сообщение об ошибке:

Невозможно выполнить сценарий в строке 39412. Файл или папка не существует.

Подтверждаю, последняя версия на сайте мне тоже помогла!

Сценарий – это набор команд, который сообщает приложению выполнить ряд операций. В большинстве приложений Adobe можно использовать сценарии для автоматизации повторяющихся задач, выполнения сложных вычислений и даже использования некоторых функций, которые не отображаются напрямую через графический интерфейс пользователя. Например, вы можете указать After Effects изменить порядок слоев в композиции, найти и заменить исходный текст в текстовых слоях или отправить сообщение по электронной почте после завершения рендеринга.

Хотя и язык выражений After Effects, и язык сценариев After Effects ExtendScript основаны на JavaScript, функции выражений и функции сценариев After Effects являются отдельными и разными. Выражения не могут получить доступ к информации из скриптов (такой как переменные и функции). В то время как сценарий говорит приложению что-то сделать, выражение говорит, что свойство — это что-то. Однако, поскольку язык выражений After Effects и ExtendScript основаны на JavaScript, знакомство с одним из них очень полезно для понимания другого.

Основой приложения, поддерживающего сценарии, является объектная модель. При использовании Adobe After Effects вы создаете проекты, композиции и элементы очереди рендеринга вместе со всеми содержащимися в них элементами: видеорядом, изображениями, сплошными телами, слоями, масками, эффектами и свойствами. Каждый из этих элементов в терминах сценариев является объектом. В этом руководстве описываются объекты ExtendScript, определенные для проектов After Effects.

Объектная модель After Effects состоит из проекта, элементов, композиций, слоев и элементов очереди рендеринга. Каждый объект имеет свои собственные специальные атрибуты, и каждый объект в проекте After Effects имеет свою собственную идентичность (хотя не все из них доступны для сценариев). Чтобы создавать скрипты, вы должны быть знакомы с объектной моделью After Effects.

Объекты JavaScript, обычно называемые «свойствами», в этом руководстве постоянно называются «атрибутами», чтобы избежать путаницы с собственным определением свойства в After Effects (анимируемое значение эффекта, маски или преобразования в отдельном слое). ).

Почти все, что можно сделать с помощью сценариев, повторяет то, что можно сделать с помощью графического пользовательского интерфейса After Effects. Глубокое знание самого приложения и его графического пользовательского интерфейса необходимо для понимания того, как использовать сценарии в After Effects.

Язык ExtendScript¶

Сценарии After Effects используют язык Adobe ExtendScript, который представляет собой расширенную форму JavaScript, используемую несколькими приложениями Adobe, включая Photoshop, Illustrator и InDesign. ExtendScript реализует язык JavaScript в соответствии со спецификацией ECMA-262. Механизм сценариев After Effects поддерживает 3-е издание стандарта ECMA-262, включая его условные обозначения и лексические соглашения, типы, объекты, выражения и операторы. ExtendScript также реализует спецификацию E4X ECMA-357, которая определяет доступ к данным в формате XML.

ExtendScript определяет глобальный объект отладки, объект доллара ( $ ) и утилиту создания отчетов для элементов ExtendScript, интерфейс отражения ExtendScript.

Объекты файлов и папок. Поскольку синтаксис пути в разных операционных системах сильно различается, Adobe ExtendScript определяет объекты файлов и папок для обеспечения независимого от платформы доступа к базовой файловой системе.

Модуль пользовательского интерфейса ScriptUI. Модуль ExtendScript ScriptUI позволяет создавать элементы пользовательского интерфейса и взаимодействовать с ними. ScriptUI предоставляет объектную модель для окон и элементов управления пользовательского интерфейса, которые можно использовать для создания пользовательского интерфейса для ваших сценариев.

Инструменты и утилиты. Кроме того, ExtendScript предоставляет инструменты и функции, такие как утилита локализации для предоставления строковых значений пользовательского интерфейса на разных языках и глобальные функции для отображения коротких сообщений в диалоговых окнах (предупреждение, подтверждение и подсказка).< /p>

Внешняя связь: ExtendScript предоставляет объект Socket, который позволяет вам обмениваться данными с удаленными системами из ваших сценариев After Effects.

Взаимодействие между приложениями: ExtendScript предоставляет общую среду сценариев для всех приложений Adobe и позволяет осуществлять взаимодействие между приложениями посредством сценариев.

Инструментарий ExtendScript (ESTK)¶

After Effects включает в себя редактор сценариев и отладчик, набор инструментов ExtendScript (ESTK), который предоставляет удобный интерфейс для создания и тестирования собственных сценариев.

Чтобы запустить ESTK, выберите «Файл» > «Сценарии» > «Открыть редактор сценариев».

Если вы решите использовать другой текстовый редактор для создания, редактирования и сохранения сценариев, убедитесь, что вы выбрали приложение, которое не добавляет информацию заголовка автоматически при сохранении файлов и которое сохраняет кодировку Unicode (UTF-8). Во многих текстовых редакторах можно настроить сохранение в кодировке UTF-8. Некоторые приложения (например, Microsoft Word) по умолчанию добавляют в файлы заголовки, которые могут вызывать ошибки «строки 0» в сценариях, что приводит к их сбою.

Для получения подробной информации о наборе инструментов ExtendScript см. Руководство по инструментам JavaScript.

Расширения имен файлов .jsx и .jsxbin¶

Вы можете использовать набор инструментов ExtendScript для экспорта двоичной версии файла ExtendScript с расширением .jsxbin. Такой двоичный файл может использоваться не со всеми функциями интеграции сценариев в After Effects.

Активация всех функций сценариев¶

По умолчанию сценариям не разрешено записывать файлы, а также отправлять или получать сообщения по сети. Чтобы разрешить сценариям записывать файлы и обмениваться данными по сети, выберите «Правка» > «Установки» > «Основные» (Windows) или «After Effects» > «Установки» > «Основные» (Mac OS) и выберите параметр «Разрешить сценариям записывать файлы и получать доступ к сети».

Любой сценарий After Effects, содержащий ошибку, препятствующую его завершению, создает сообщение об ошибке из приложения. Это сообщение об ошибке включает информацию о характере ошибки и строке сценария, в которой она возникла. Отладчик ExtendScript Toolkit (ESTK) может открываться автоматически, когда приложение обнаруживает ошибку сценария. Эта функция по умолчанию отключена, чтобы случайные пользователи не столкнулись с ней. Чтобы активировать эту функцию, выберите «Настройки» > «Основные» и выберите «Включить отладчик JavaScript».

Загрузка и запуск скриптов¶

Запуск скриптов непосредственно из меню «Файл» > «Скрипты»¶

При запуске After Effects ищет сценарии для загрузки в папке «Сценарии». Загруженные сценарии доступны в меню «Файл» > «Сценарии».

Чтобы запустить загруженный сценарий, выберите «Файл» > «Сценарии» > [имя сценария].

Если вы редактируете сценарий во время работы After Effects, вы должны сохранить изменения, чтобы они вступили в силу.Если вы помещаете сценарий в папку «Сценарии» во время работы After Effects, необходимо перезапустить After Effects, чтобы сценарий появился в меню «Сценарии», хотя вы можете немедленно запустить новый сценарий с помощью команды «Выполнить файл сценария».

Запуск сценариев с помощью меню «Файл» > «Сценарии» > «Запустить файл сценария»¶

Чтобы запустить незагруженный скрипт, выберите «Файл» > «Сценарии» > «Запустить файл скрипта», найдите и выберите скрипт и нажмите «Открыть».

Запуск сценариев из командной строки, пакетного файла или сценария AppleScript¶

Если вы знакомы с тем, как запускать сценарий из командной строки в Windows или с помощью AppleScript, вы можете отправить сценарий непосредственно в открытое приложение After Effects, чтобы приложение автоматически запускало сценарий.

Чтобы запустить скрипт из командной строки, вызовите afterfx.exe из командной строки. Используйте ключ -r и полный путь к скрипту для запуска в качестве аргументов. Эта команда не открывает новый экземпляр приложения After Effects; он запускает скрипт в существующем экземпляре.

Пример (для Windows):

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

Ниже приведены примеры записей командной строки Windows, которые отправляют сценарий After Effects в приложение без использования пользовательского интерфейса After Effects для выполнения сценария.

В первом примере вы копируете и вставляете сценарий After Effects непосредственно в командную строку, а затем запускаете его. Текст скрипта заключен в кавычки после команды afterfx.exe -s:

Кроме того, вы можете указать расположение исполняемого файла JSX. Например:

Как включить сценарии After Effects в AppleScript (Mac OS)¶

Ниже приведены три примера сценариев AppleScript, которые отправляют существующий файл JSX, содержащий сценарий After Effects, в приложение без использования пользовательского интерфейса After Effects для выполнения сценария.

В первом примере вы копируете сценарий After Effects непосредственно в редактор сценариев, а затем запускаете его. Текст скрипта появляется в кавычках после команды DoScript, поэтому внутренние кавычки в скрипте должны быть экранированы с помощью escape-символа обратной косой черты, как показано ниже

В качестве альтернативы вы можете отобразить диалоговое окно с запросом о расположении исполняемого файла JSX следующим образом:

Эта документация неверна, правильный вызов в данном случае — DoScriptFile

Наконец, этот сценарий, пожалуй, наиболее полезен, когда вы работаете непосредственно над редактированием сценария JSX и хотите отправить его в After Effects для тестирования или запуска. Чтобы использовать его эффективно, вы должны войти в приложение, содержащее открытый файл JSX (в данном примере это TextEdit); если вы не знаете правильное имя приложения, введите наиболее подходящее слово вместо «TextEdit», и AppleScript предложит вам найти его.

Просто выделите текст сценария, который вы хотите запустить, а затем активируйте этот AppleScript:

Автоматический запуск скриптов при запуске или завершении работы приложения¶

В папке Scripts есть две папки: Startup и Shutdown. After Effects автоматически запускает сценарии в этих папках в алфавитном порядке при запуске и выходе соответственно.

В папку «Автозагрузка» вы можете поместить сценарии, которые хотите выполнять при запуске приложения. Они выполняются после инициализации приложения и загрузки всех подключаемых модулей.

Сценарии используют общую глобальную среду, поэтому любой сценарий, выполняемый при запуске, может определять переменные и функции, доступные для всех сценариев. Во всех случаях переменные и функции, однажды определенные путем запуска содержащего их сценария, сохраняются в последующих сценариях во время данного сеанса After Effects. После выхода из приложения все такие глобально определенные переменные и функции очищаются. Обязательно давайте переменным в сценариях уникальные имена, чтобы сценарий случайно не переназначил глобальные переменные, предназначенные для сохранения на протяжении всего сеанса.

Атрибуты также можно добавлять к существующим объектам, таким как объект Application, чтобы расширить приложение для других скриптов.

Сценарии папки Shutdown выполняются при выходе из приложения. Это происходит после закрытия проекта, но до завершения работы любого другого приложения

Запуск скриптов из меню «Окн

Скрипты в папке ScriptUI Panels доступны в нижней части меню "Окно". Если сценарий был написан для обеспечения пользовательского интерфейса на закрепляемой панели, сценарий следует поместить в папку ScriptUI. Панели ScriptUI работают почти так же, как панели по умолчанию в пользовательском интерфейсе After Effects.

Вместо создания объекта Window и добавления к нему элементов управления сценарий ScriptUI Panels использует объект this, представляющий панель. Например, следующий код добавляет кнопку на панель:

Если ваш скрипт создает свой пользовательский интерфейс в функции, вы не можете использовать его, так как он будет ссылаться на саму функцию, а не на панель. В этом случае вы должны передать этот объект в качестве аргумента вашей функции. Например:

Вы не можете использовать команду меню «Файл» > «Сценарии» > «Выполнить файл сценария» для запуска сценария, который ссылается на это. Чтобы ваш скрипт работал либо с объектом Window (доступен из меню File > Scripts), либо со встроенной панелью (доступен из меню Window), проверьте, является ли это объектом Panel. Например:

Остановка запущенного скрипта¶

Скрипт можно остановить, нажав Esc или Cmd+точка (в Mac OS), когда After Effects или пользовательский интерфейс скрипта находятся в фокусе. Однако скрипт, занятый обработкой большого количества данных, может работать не очень быстро.

© Adobe Systems Incorporated, редакция 9c1f0fed, 1992-2021.

Последние версии Загрузки pdf On Read the Docs Project Home Сборки Бесплатный хостинг документов, предоставляемый Read the Docs.

Читайте также: