LoginSignup
3
3

More than 5 years have passed since last update.

AE .txtファイルから行毎にテキストレイヤーを作成

Last updated at Posted at 2017-05-02

やりたい事

外部のテキストファイルを一行毎にテキストレイヤーにしたい。

用途

リリックビデオやテロップなどの量の多いテキスト編集時

#コード

function inport(){
    var fileName = File.openDialog("Select Text file","");
    var myFile = new File(fileName);

    if (myFile.open("r")){
        var myText = "";
            while(!myFile.eof){
            myText = myText + myFile.readln()  + String.fromCharCode(13);
            }
            var compName="Lyric"
            var creComp=app.project.items.addComp(compName,1920,1080,1.0,600,29.97)//コンポジションを作成
            var text_array=myText.split (String.fromCharCode(13));
            for(var i=0; i<(text_array.length-1); i++){
                       creComp.layers.addText(text_array[i]);
                }
    }
}

inport()

2018/06/27 更新

最近また同じことをやる事があったので、少しプログラムを更新しました。
といってもやっている事は全く同じですが・・・
コッチの方がプログラム的には読みやすそうなので、更新しておきます。

var lyric  = []; //歌詞を一行毎配列に入れる

//ファイルを読み込んで配列に入れる作業
function readToLyric(){
var fileName = File.openDialog("Select Text file","");
var myFile = new File(fileName);
    if (myFile.open("r")){
    var myText = "";
        while(!myFile.eof){
        var myText = myText + myFile.readln()  + String.fromCharCode(13);
        }
        var text_array=myText.split (String.fromCharCode(13));
            for(var i=0; i<(text_array.length-1); i++){
               lyric.push(text_array[i]);
            }
    }
myFile.close();
}

function addText(text){
        var myComp = app.project.activeItem;
        var cNText = myComp.layers.addText(text);
    }

readToLyric();



for (i =0; i<lyric.length; i++){
addText(lyric[i]);
}



3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3