vbsファイルにinddファイルをドラッグ&ドロップすると、InDesignを起動し、ドロップされたファイルから、テキストを抽出し、ドロップされたファイルと同じ場所に保存します。
InDesign CS、CS2、CS3、CS4で動作します。
出力される文字コードはシフトJISまたはUnicodeです。ただし、CS4のUnicodeはUTF-8もしくはUTF-16になります。
インラインフレームのテキストは、別に出力されます。
ドラッグ&ドロップされるInDesignドキュメントと同じフォルダに同名(拡張子が異なる)のテキストファイルが存在すると、そのファイルは上書きされてしまいます。
1つのフレームしか書き出しできない場合は、ソースの31行目の「tx.AtEndOfLine」の部分を「tx.AtEndOfStream」に書き換えて試してみてください(OSのバージョンに依るものかもしれません)。
ファイルはzip形式で圧縮してあります。CS、CS2用のダウンロードはこちら(idtxtoutd.zip)からお願いします。CS3用はこちら(idtxtoutdCS3.zip)から、CS4用はこちら(idtxtoutdCS4.zip)からお願いします。
ダウンロードした「idtxtoutd.zip」ファイルを解凍すると以下の4つのファイルが作られます。不要なものは捨てて下さい。
ファイルはデスクトップなど適当な場所に置きます。
そのファイルにInDesignドキュメントファイルをドラッグ&ドロップします。ファイルは複数可能ですが、数に限界があります。(20~30程度)
ドロップしたInDesignドキュメントファイルと同じ場所にテキストファイルが作成されます。ファイル名は拡張子を.inddから.txtに変更したものとなります。
ダウンロードした「idtxtoutdCS3.zip」ファイルを解凍すると以下の2つのファイルが作られます。不要なものは捨てて下さい。
ファイルはデスクトップなど適当な場所に置きます。
以下、CS、CS2と同じです。
ダウンロードした「idtxtoutdCS4.zip」ファイルを解凍すると以下の3つのファイルが作られます。不要なものは捨てて下さい。
ファイルはデスクトップなど適当な場所に置きます。
以下、CS、CS2と同じです。
下のソースはidtxtoutdCS_S.vbsのものです。CS2の場合は以下の部分が異なります。
10行目 Set app = CreateObject("InDesign.Application.CS") のところ
Set app = CreateObject("InDesign.Application.CS2_J")
11行目 app.UserInteractionLevel = 1699640946 のところ
app.ScriptPreferences.UserInteractionLevel = 1699640946
41行目 app.UserInteractionLevel = 1699311169 のところ
app.ScriptPreferences.UserInteractionLevel = 1699311169
また、Unicodeテキストの場合は以下の部分が異なります。
12行目 app.TextExportPreferences.CharacterSet = 1415865972
のところ
app.TextExportPreferences.CharacterSet = 1249209961
26行目 Set tf = fso.OpenTextFile(txtfilename, 8) のところ
Set tf = fso.OpenTextFile(txtfilename, 8, , -1)
30行目 Set tx = fso.OpenTextFile(tmpfilename, 1) のところ
Set tx = fso.OpenTextFile(tmpfilename, 1, , -1)
|
ソースの29行目 tf.WriteLine("") のところを、 tf.WriteLine("##") とするとエディカラー風の区切り付テキストになります。