ファイル形式を取得して表示させる
-
0 名前: しげ : 2005/10/04 18:03
- 表題のようなことは出来るのでしょうか?
ファイル名を表示させるところまでは出来たのですが、そのファイル形式を表示させる方法がわかりません。
例えば、「画像.jpg」であれば、「画像」は表示させられるんですが、「.jpg」も表示させたいんです。
可能なのであれば、どのようなスクリプトを書けば良いのでしょうか?
よろしくお願いいたします。
-
1 名前: ハワイ : 2005/10/04 18:03
- やりたいことがよくわかりません。
その画像ファイルは何処にありますか?どのタイミングでどういう方法で取得していますか?
現在のソースをアップしてくれれば分かりやすいかと。
-
2 名前: しげ : 2005/10/04 18:03
- レスありがとうございます。
Photoshopの掲示板で紹介されていた物で、このスクリプト自体は特に複雑なことはしていないです。
Photoshopで開いているアクティブなファイルのファイル名を取得して、それをテキストレイヤーとして挿入させています。
これだけでも特に問題は無いんですが、ファイル形式も一緒に表示できるようになると便利かなと思い、
あちこち探してみたんですが、ファイル形式を表示させるような方法を紹介している所が何処にもなくて、
こちらに助けを求めた次第です。
他の部分はテキストの色の指定や日時を表示させる部分なので、ファイル名取得の部分のみ下記に抜粋しておきます。
di=(docRef.name).indexOf(".");
fname = (docRef.name).substr(0, di);
if ( ShowExtension == "y" )
{
fname = docRef.name
}
myTextRef.contents = fname;
-
3 名前: ハワイ : 2005/10/04 18:03
- ShowExtensionに"y"を入れておけば拡張子付きでファイル名取得しそうなソースだけど・・・
よくわかんなかったらdocRef.nameだけでOKかと
-
4 名前: しげ : 2005/10/04 18:03
- 回答ありがとうございます。
レスが遅くなってすみません。
docRef.nameにしたら、すんなり表示してくれました!
変更前と変更後の違いがよく解っていませんが、これで希望通りの表示が出来ます。
ありがとうございました。
もしお時間がありましたら、この違いの解説もしていただけるとありがたいですm(__)m
-
5 名前: しげ : 2005/10/04 18:03
- たった今気付いたんですが、こんな説明書きがついていました;
The following code strips the extension and writes tha text layer. fname = file name only
-
6 名前: ハワイ : 2005/10/04 18:03
- di=(docRef.name).indexOf("."); //docRef.nameの値で"."の位置を取得
fname = (docRef.name).substr(0, di); //docRef.nameの頭から"."の前までをfnameに入れている(のでdocRef.nameはファイルの名前を取得していると判断)
if ( ShowExtension == "y" )
{
fname = docRef.name //ShowExtensionの値が"y"ならfnameにdocRef.nameを入れている
}
myTextRef.contents = fname;
ShowExtensionという変数に文字列の"y"が入っていたら拡張子ごとファイル名を取得してくれます。(変数名そのままですが・・・)
けど変なコーディングです。最初に判断すればいいのに拡張子なしのファイル名を取得してから判断してます。
-
7 名前: しげ : 2005/10/04 18:03
- 解説ありがとうございます。
やはり変な感じなんですね。
自分なりに色々試してたんですが、(位置情報などを省くと)以下の6行で済んでしまいました。
var docRef = activeDocument;
var myLayerRef = docRef.artLayers.add();
myLayerRef.kind = LayerKind.TEXT;
myLayerRef.name = "Filename";
var myTextRef = myLayerRef.textItem;
myTextRef.contents = docRef.name;
色々と不要な物があったせいで、余計混乱していたようです(^_^;)
ありがとうございました。