楽天セール開催中!ポイント最大11倍!セール会場へ

After Effectsでテキストを行ごとに参照する|改行・範囲外に対応

「source text」に入力した文章を「text_1」「text_2」へ1行ずつ取り出します。

空行も1行として数え、名前や番号が範囲外なら空文字を返します。

最終調査日:2026年10月3日。

仮の入力値と構文をローカルで確認しています。

今回AE本体での表示・レンダリング確認は行っていません。

目次

参照元と表示用レイヤーの準備

練習コンポにテキストレイヤーを作り、名前を「source text」にします。

1行目「おはよう」、2行目「こんにちは」、3行目「おやすみ」と入力します。

別のテキストレイヤーを作り、名前を「text_1」にします。

「ソーステキスト」のストップウォッチをAlt(MacはOption)を押しながらクリックして式を開きます。

ソーステキストへ貼る式

var source = String(thisComp.layer("source text").text.sourceText.value);
var lines = source.split(/\r\n|\r|\n/);
var match = thisLayer.name.match(/^text_([1-9][0-9]*)$/);
var row = match ? Number(match[1]) : 0;
(row >= 1 && row <= lines.length) ? lines[row - 1] : "";

表示用を複製し、名前を手動で「text_2」「text_3」に変更します。

複製時の自動命名に依存せず、末尾番号を確認します。

参照元を画面に出さない場合はsource textのビデオスイッチをオフにします。

改行・名前の確認例

入力・条件期待する結果確認点
3行の入力/text_2こんにちは完全一致の名前
A・空行・B/text_3B空行を飛ばさない
2行入力/text_4空文字undefinedを返さない
text_0・text_01・字幕_1空文字正の整数の形式だけ対応

旧式はCRLFを2つの改行として扱い、2行目が空になる入力がありました。

修正版はCRLFを先に処理し、CR単独とLF単独も分割します。

表示されないとき・戻し方

空文字なら表示用の名前と行番号を確認します。

エラーならsource textが同じコンポに1つ存在し、名前の前後に空白がないか確認します。

変更前にコンポと文章を複製して保管します。

戻すときは式をオフにし、表示用へ保管した文章を再入力します。

一部分だけ文字を装飾する場合は、必要な行を新しい通常のテキストレイヤーへコピーして装飾します。

式をキーフレームへ変換してキーを削除する方法を、文字列保持の手順には使いません。

旧版の参考画像

次の画像は既存記事の参考画像で、今回の修正版をAE実機で撮影したものではありません。

参照元として改行区切りの文字列を入力したテキストレイヤーを作成した状態。
参照元レイヤーの下に表示用として作成した空のテキストレイヤー。
表示用テキストレイヤーを複製し、連番で生成された各レイヤーに行ごとのテキストが参照されている状態。
参照元のテキストレイヤーを非表示にし、複製した各テキストレイヤーに行単位で文字列が表示される動作の様子。

参照資料

Adobeのエクスプレッション言語資料を参照しています。

関連記事・既存の参考資料

同じ区画の関連記事です。

各記事の貼付先と確認範囲を確認して使います。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

After Effectsのおすすめ書籍

必要なPCスペック

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次