Amazonで商品を見るセール会場へ

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

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

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

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

2026年10月15日に、Windows 11 Pro(10.0.26200)のAfter Effects 26.5.0(Build 89、日本語表示)で、本文と同じ名前と式を使って結果を確かめました。

確かめた範囲と、確かめていない範囲は「改行・名前の確認例」の中にまとめています。

目次

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

練習コンポにテキストレイヤーを作り、名前を「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単独も分割します。

撮影した練習例です。

左のテキストは「FIRST」「SECOND」「THIRD」の3行で、2行目の「SECOND」を別のレイヤーへ取り出した画面です。

右側のオレンジ色の文字が、取り出した「SECOND」でした。

この画面の式は、本文の式とは違います。

参照元のレイヤー名は「SourceLines17781」、表示用は「ReferencedLine17781」で、本文の「source text」「text_1」ではありません。

行の番号も、名前からではなく、式の中の「var index = 1;」で指定していました。

この番号は0から数えるので、1は2行目です。

After Effectsで3行テキストの2行目SECONDをエクスプレッションで参照した画面
2026-10-13撮影。Adobe After Effects 26.5.0 (Build 89)、Windows 11 Pro (10.0.26200)。実機画面、原寸保存。

次は、同じ式の「index」を5に変えた画面です。

3行しかないので、範囲外の番号です。

コンポジションパネルには左の3行だけが表示され、取り出した文字は何も表示されませんでした。

式の最後には「: '';」があり、範囲外のときは空文字を返す形でした。

After Effectsで範囲外の行番号index5を指定し、参照テキストが空になった画面
2026-10-13撮影。Adobe After Effects 26.5.0 (Build 89)、Windows 11 Pro (10.0.26200)。実機画面、原寸保存。

このように、範囲外の番号でも、エラーにならず空になります。

本文の式も、範囲外は空文字を返します。

After Effects 26.5で確かめた結果(2026年10月15日)

Windows 11 Pro(10.0.26200)のAfter Effects 26.5.0(Build 89、日本語表示)で、「ソーステキストへ貼る式」のコードを書き換えずに使って確かめました。

コンポジションは1280×720、30fps、3秒で、参照元の名前は「source text」、表示用は「text_1」「text_2」「text_3」です。

参照元に入れた文章は、日本語の3行、A・空行・Bの3行、AとBの2行(改行をCRLF・CR・LFにした3種類)の5通りです。

それぞれについて、表示用の名前をtext_1・text_2・text_3・text_4・text_0・text_01・字幕_1にした7通りを調べました。

35通りすべてが記事の説明どおりになり、式のエラーは出ませんでした。

日本語の3行では、text_1が「おはよう」、text_2が「こんにちは」、text_3が「おやすみ」になりました。

A・空行・Bでは、空行を飛ばさず、text_2が空になり、text_3がBになりました。

行数より大きいtext_4と、text_0・text_01・字幕_1は、どの入力でも空文字でした。

スクリプトでCRLFやLFを含む文章を入れると、After Effectsの中ではCRの改行として保存されていました。

どの改行でも、text_1はA、text_2はBでした。

After Effectsでsource textにA・空行・Bを入れ、text_2のソーステキストに本文の式を表示した画面。右の表示用ではAとBの間が空いている
2026-10-15撮影。Adobe After Effects 26.5.0 (Build 89)、Windows 11 Pro (10.0.26200)。参照元のsource textにA・空行・Bの3行を入れ、text_2のソーステキストに本文と同じ式を表示した実機画面。左の白い文字が参照元、右の橙色が表示用で、text_2は空、text_3はBになった(ウィンドウのタイトルバーのみ切り取り)。

保存したプロジェクトを開き直しても、同じ結果でした。

レイヤーの作成、名前の変更、式の設定、入力の切り替えはスクリプトで行いました。

そのため、記事の手順どおりにレイヤーを複製して名前を入力する操作と、Altを押しながらストップウォッチをクリックして式を開く操作は、確認に含めていません。

画面で行ったのは、プロパティの展開と式の表示、描画の確認、次の節の式のオフです。

Mac、ほかのバージョン、文字の装飾や段落の設定、source textが無いときや同じ名前が2つあるとき、ビデオスイッチをオフにしたときは、確かめていません。

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

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

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

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

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

2026年10月15日の確認では、式を付ける前に「式OFFの元文字2」と入れておいた表示用のレイヤーで、画面から式をオフにすると、その文字が表示されました。

この例では、再入力しなくても、式を付ける前の文字に戻りました。

式を付ける前の文字と、範囲外の名前「text_4」への変更は、スクリプトで用意したものです。

After Effectsでtext_4の式をオフにし、式を付ける前の文字「式OFFの元文字2」が表示された画面
2026-10-15撮影。Adobe After Effects 26.5.0 (Build 89)、Windows 11 Pro (10.0.26200)。範囲外の名前text_4にした表示用レイヤーで、ソーステキストの式を画面からオフにした実機画面。式が有効なときは空だったが、式を付ける前に入れておいた「式OFFの元文字2」が表示された(ウィンドウのタイトルバーのみ切り取り)。

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

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

旧版の参考画像

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

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

参照資料

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

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

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

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

スポンサーリンク

よくある質問:After Effectsでテキストを1行ずつ別レイヤーに取り出すとき

この式は、何をしますか?

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

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

練習の準備として、何を用意しますか?

練習コンポにテキストレイヤーを作り、名前を「source text」にして、1行目「おはよう」、2行目「こんにちは」、3行目「おやすみ」と入力します。

別のテキストレイヤーを作って名前を「text_1」にし、「ソーステキスト」のストップウォッチをAlt(MacはOption)を押しながらクリックして式を開きます。

2行目以降は、どうしますか?

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

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

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

空行があるときは、どうなりますか?

空行も1行として数え、飛ばしません。

記事の例では、A・空行・Bと入力した場合、text_3はBになります。

行数より大きい番号や、おかしな名前のときは?

範囲外の番号は空文字を返し、undefinedは返しません。

記事の例では、2行入力でtext_4は空文字です。

text_0・text_01・字幕_1も空文字で、正の整数の形式だけ対応します。

改行コードの違いで、行がずれることはありますか?

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

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

何も表示されないときや、エラーになるときは?

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

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

名前は完全一致が必要です。

元に戻すには、また、一部の文字だけ装飾したいときは?

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

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

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

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

2026年10月15日の確認では、式を付ける前の文字が入っていたレイヤーで式をオフにすると、その文字に戻りました。

文字の装飾が残るかどうかは、確かめていません。

After Effectsの実機で確かめましたか?

2026年10月15日に、Windows 11 Pro(10.0.26200)のAfter Effects 26.5.0(Build 89、日本語表示)で確かめました。

5通りの入力と7通りの名前を組み合わせた35通りが、すべて記事の説明どおりになり、式のエラーは出ませんでした。

レイヤーの準備と式の設定はスクリプトで行い、記事の手順どおりの手作業は確認に含めていません。

Mac、ほかのバージョン、文字の装飾、source textが無いときや同じ名前が2つあるときは、確かめていません。

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

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

After Effectsのおすすめ書籍

必要なPCスペック

周辺機器の優先度

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

この記事を書いた人

須澤 元貴のアバター 須澤 元貴 代表社員

MOTOKI合同会社 代表社員。
アニメ・映像業界とゲーム業界で、2D・UI・3D・アニメーション制作、映像編集、ツール制作に携わってきました。
現在はWordPressを中心にWebサイトの制作とカスタマイズを手がけています。
著書に『Unity デザイナーズ・バイブル』『Unityゲーム プログラミング・バイブル 2nd Generation』(ボーンデジタル)。
岡山県出身、埼玉県在住。

目次