IllustratorCS3でファイルを開くスクリプトを作成できずに困っています

このQ&Aのポイント
  • Windows版IllustratorCS3でJavascriptを使ってファイルを開くスクリプトを作成していますが、うまくいきません。
  • Web上で参考になるソースを見つけたものの、ファイルを開くことができずに困っています。
  • 今回の問題は、sample.jsという名前で保存したスクリプトを実行しても画面上にファイルが表示されないというものです。
回答を見る
  • ベストアンサー

Win版IllustratorCS3でJavascriptを使ってファイルを開くスクリプトを作成できずに困っています。

Windows版IllustratorCS3でJavascriptを使ってファイルを開くスクリプトを作成しています。Web上で以下のようなソースを見つけたので参考にしていますが、ファイルを開くことができず困っています。 web上で以下のサイトを参考にして、IllustratorCS(Win)でJavascriptを使ってepsファイルを開くスクリプトを作成しています。 http://www.openspc2.org/book/IllustratorCS3/easy/file/001/index.htm... 以下のように作成しましたが、sample.jsという名前で保存して、Illustratorの「ファイル」-「スクリプト」から選択しても画面上にファイルが表示されません。どなたか原因をお分かりの方がいらっしゃいましたら教えていただけないでしょうか。 filename = "C:/tmp/test.eps"; fileObj = new File(filename); flag = fileObj.open("r"); if (flag == true) { alert("ファイルを開きました"); fileObj.close(); }else{ alert("ファイルが開けませんでした"); }

質問者が選んだベストアンサー

  • ベストアンサー
  • shut0325
  • ベストアンサー率40% (490/1207)
回答No.3

もっとシンプルでよいです。 あと、パスの記述は下記のようにすると良いです。 Myfile=new File("/c/temp/test.eps"); open(Myfile); 戻り値はサンプルコード(fileObj.open())と違い、ドキュメントオブジェクトになります。今回のopen()はIllustratorのアプリケーションオブジェクトのメソッドになります。詳しくはアプリケーションに付属の「Illustrator CS3 JavaScript Reference.pdf」を参照ください。 illustratorからスクリプトを実行する場合はアプリケーションオブジェクトをあらわすappを省略できるのでこのような形になりますが、判りやすくするために app.open(Myfile); と記述しても問題無く動作します。 このあたりのことは「Illustrator CS3 Scripting Guide.pdf」に詳しく書かれています。

その他の回答 (2)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

IllustratorのJavascriptは使ったことないけれど… ウェブ上でもマニュアルが公開されているので、これでメソッド等の確認をなさってはいかがでしょうか? http://www.adobe.com/devnet/illustrator/pdfs/IllustratorCS3_JavaScript_Reference.pdf

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

IllustratorCS3あまりくわしくありませんが、 実行方法がまずいいんじゃないですか。標準のjavascript にはそんなメソッドはありません。 拡張子はjsxにしなければならないのでは? http://www.openspc2.org/book/IllustratorCS3/intro/007/index.html に注意書きがごちゃごちゃ書いてあるような。

makochan07
質問者

お礼

ありがとうございました。 勉強になりました。

関連するQ&A

  • IllustratorスクリプトでのEPS保存について

    IllustratorCS2で、EPS保存時にオーバープリント設定をすべて破棄したいのですが、 件数が多い為にスクリプトで実行しようと考えています。 そこでためしに以下のようなシンプルなスクリプトを組んでみたのですが オーバープリントが破棄されません。 var SaveOptions = new EPSSaveOptions; SaveOptions.overprint = PDFOverprint.DISCARDPDFOVERPRINT; var FileObj = new File(app.activeDocument.path + '/test.eps'); app.activeDocument.saveAs(FileObj, SaveOptions); スクリプトではなく、手作業で別名保存からオーバープリントを 破棄で保存すればちゃんと破棄されるのですが… Windows XPで開発しています。 ちなみにMacOSXのIllustratorCS3でも試してみましたが駄目でした。 何かほかに設定を行わなければいけないのでしょうか?

  • 【WIN-AI-CS2】スクリプト:保存時の警告

    イラレCS2で、スクリプトを利用してAI(EPS)ファイルをJPEGに変換します。 イラレ上に展開しているファイルではなく、フォルダ内にあるファイルを展開してJPEGに保存するスクリプトを組みました。 基本の動作は問題なく行われるのですが、1点だけ問題があります。 それは、JPEGで保存する際に 「保存されるファイルの中にラテン文字以外の~」 というダイアログがファイルごとに出て、処理が中断するのです。 出来れば、スクリプトを走らせたら、あとは放置で全ファイルを変換してしまいたいのです。 なお、ファイル名に関しては、WEBに使うものではないので日本語も入っています。 (作業仕様上、回避することは出来ません) 最悪、英名に変換して処理後に日本名に戻すようなBATファイルでも組めばいいのかもしれませんが、効率化の意味がなくなります。 JPEG保存時に、上記のダイアログを出ないようにして、あるいは強制的に「OK」の処理を行って、スクリプトの作業をとめない方法はありますでしょうか? よろしくおねがいします。 環境:WindowsXP SP2/Adobe Illustrator CS2 スクリプト: openFolder = Folder.selectDialog("SelectFolder with AI&EPS"); saveFolder = Folder.selectDialog("SelectFolder to save JPEG"); //AI fileList in "openFolder" fileListAi = openFolder.getFiles("*.ai"); //EPS fileList in "openFolder" fileListEps = openFolder.getFiles("*.eps"); //JPEG Set savingOptions jpegOpt = new ExportOptionsJPEG(); jpegOpt.qualitySetting = 100; //Proccess START if (fileListAi.length != 0){ for (i=0; i<fileListAi.length; i++){ fileObj = new File(fileListAi[i].fsName); open(fileObj); tmpFile = (fileListAi[i].name).split(".ai")[0]; saveJPEGFile = new File(saveFolder + "/" + tmpFile + ".jpg"); activeDocument.exportFile(saveJPEGFile, ExportType.JPEG, jpegOpt); activeDocument.close(SaveOptions.DONOTSAVECHANGES); } } if (fileListEps.length != 0){ for (i=0; i<fileListEps.length; i++){ fileObj = new File(fileListEps[i].fsName); open(fileObj); tmpFile = (fileListEps[i].name).split(".ai")[0]; saveJPEGFile = new File(saveFolder + "/" + tmpFile + ".jpg"); activeDocument.exportFile(saveJPEGFile, ExportType.JPEG, jpegOpt); activeDocument.close(SaveOptions.DONOTSAVECHANGES); } }

  • javaScriptからxmlファイルを読み込みたい。

    strutsで開発を行ってるのですが、javaScriptからweb.xmlに設定してあるsession-timeoutの時間を取得したいのです。 javaScriptからxmlファイルをparseできるみたいで、ネットを参考に書いてみたのですが。うまく動きません・・・以下がソースです。 jsファイルをweb.xmlと同じ階層において試したのですが 、うまく読み込めていないようなのです。どなたかご教授お願いできないでしょうか? javaScriptからweb.xmlを読み込むことは不可能なのでしょうか? ちなみにブラウザはIE6.0以上限定です。 function readXML(){ xml_doc = new ActiveXObject("Microsoft.XMLDOM"); xml_doc.async = false; if(xml_doc.load("web.xml")){ alert("success!"); }else{ alert("error!"); } }

  • IllustratorCS3でのJavascriptを使ったGUIコントロールについて

    IllustratorCS3でJavascriptを使ったGUIコントロールの使い方について質問です。 Javascriptで以下のようにテキストボックスの横に参照ボタンを置き、ボタンをクリックすると「ファイル選択」ダイアログを表示し、そこで選択したファイルのパスをテキストボックスに表示したいと思っています。 以下のようなソースを作成しました。 winObj = new Window("dialog","テキスト変換ツール",[100,50,330,200]); sbtnObj=winObj.add("button",[180,20,220,40],"参照"); ftxtObj=winObj.add("edittext",[10,10,180,40],"ファイル名を入力してください。"); sbtnObj.onClick=function(){ ffilename=File.openDialog("テキストファイルを指定してください。"); if(ffilename){ ftxtObj.text=ffilename; } } これですと、参照ボタンをクリックしてファイルを選択すると、テキストボックス(ftxtObj.text)に「File」と表示されてしまいます。ここには選択したファイルのパスを表示したいのですが、どなたかご存知の方がいらっしゃいましたらよろしくお願いします。

  • javascriptでテキストファイルを作成したい

    javascriptを勉強していて演算した結果をテキストファイルにして、その結果をテキストファイル内に書き込んで新しくデスクトップに作成するというプログラムを作りたいと考えています。 ですが、まずは以下の条件を満たすプログラムの内容を教えていただきたいと思います。 私はHTMLと同時にjavascriptを作っているのですがとりあえず、 ・「テキストファイルの作成」というボタンをHTML内に作ります。 ・そのボタンを押すとjavascriptのfunctionが動作し、「テキストの書き込みに成功しました」という内容が書かれたテキストファイルがデスクトップに新たに作成される。 というプログラムを知りたいです。 基礎的な原理だけを知りたいので上の条件を満たすプログラムを教えていただきたいと思います。 テキストファイルをデスクトップに作る方法と、作るテキストファイルにどのようにしてテキスト内容を書き込めばいいのか分かりません。 HTMLの部分がめんどくさければjavascriptの部分だけでも構いません。 よろしくお願いします。

  • スクリプト作成

    ファイルを読み込んだ時に読み込んだ行数を 外部ファイルなどに記録し、次に同じファイルを 読み込んだ時に最後に読み込んだ次の 行から読み込むスクリプトを作成したいのでが、 参考なるサイト教えて頂けないでしょうか。 よろしくお願いします。

  • javascriptでweb上にファイル作成

    スケジュールの共有をしたいために、データベースを使わずに javascriptでweb上にテキストファイルを作成できないでしょうか? 個人だけなら、ブラウザのローカルストレージを使えますが、共有となると困ってしまいます。 初心者で恐れ入りますが、よろしくお願いします。 根本的に無理なら諦めたいと思います。

  • javascriptで .jpg , .jpeg , .pdfファイルであることを判定

    HTMLのフォーム文で、ファイルをアップロードしてもらい、それが.jpg, .jpeg , .pdf ファイルであった場合のみ、アップロードできるような仕組みをJavascriptを利用して作成中ですが、うまく行きません (ソース: test.php) --ここから-- <html></body> <SCRIPT language="JavaScript"> function mailSubmit(){ if (document.form_mail.upfile.value == "" ) { alert (" ファイルを選択してください。"); flag = 1; return; } else { if (document.form_mail.upfile.value.match(/[jpg]$/i)||(/[pdf]$/i)){ alert ("添付ファイルはJPEG,PDFに限ります"); flag = 1; // return; } } if(flag){ return false; } else { document.form_mail.submit(); return true; } } </script> <table> <!-- === FORMここから === --> <!-- <FORM METHOD="post" action="<?php print $_SERVER['PHP_SELF']; ?>" NAME="form_mail" ENCTYPE=multipart/form-data> --> <FORM METHOD="post" action="<?php print $_SERVER['PHP_SELF']; ?>" NAME="form_mail" ENCTYPE=multipart/form-data onSubmit="return mailSubmit()"> ファイル選択<INPUT TYPE=file NAME="upfile" SIZE=50 VALUE=\"$upfile\"> <br> <INPUT TYPE="button" VALUE=" 送信 " onClick=" javascript:mailSubmit() "> <INPUT TYPE="button" VALUE=" キャンセル " onClick="javascript:history.back()"> </FORM></body> </html> --ここまで-- JPG,JPEG,またはPDFファイルのみにアップロードの許可を与えるにはどうしたらいいでしょうか、(大文字・小文字は不問とします)ご回答いただければ幸いです。

  • Javascriptの動的リスト作成について

    Javascriptの動的リスト作成について お世話になっています。 Javascriptで選択リストを動的に変えたいと思っています。 また、Javascriptで作成したリストは、multipleとして複数選択できるようにしたいと考えています。 そこで、下記のようにスクリプトを書きました。リスト2(smallwheretag)が1つのみ選択を許すときは、うまくいったのですが、multipleにするためにnameを配列にしたところ、うまくリストが作成できなくなってしまいました。 なにかスクリプトに変更が必要なのでしょうか?ご教授お願いいたします。 <HTML部> <select name="bigwheretag[]" onchange="javascript:listChange(this.value);"> <option value="">検索項目</option> <option value="11%">自然</option> <option value="12%">街</option> <option value="13%">家庭</option> </select> <select name="smallwheretag[]" multiple> <option value="">大項目を選択して下さい</option> </select> <Javascript部> var where1_text = new Array("川", "海", "山", "滝", "その他"); var where1_value = new Array("1101", "1102", "1103", "1104", "1199"); flag1 = document.form.bigwheretag.value; if (flag1=="11%") { document.form.smallwheretag.length = where1_text.length; for(var i=0; i<where1_text.length; i++) { document.form.smallwheretag.options[i].text = where1_text[i]; document.form.smallwheretag.options[i].value = where1_value[i]; } }・・・・・・・・以下同様

  • scriptをjsファイルに外出しにしたいのですが・・・

    こんにちわすいません! 初心者です!! 今回仕事で既存のファイルのJSPファイルの中のjavascriptのscript部分をjsファイルに外出しにしたいのですが・・ 引数にパラメータをしている関数がありまして・・・どうやればよいのかどなたか教えてください。 こんな関数です。 function sendSrchAction(lAction){ with (document.forms[0]){ actionNameTxt.value=lAction; cmdtyFlagTxt.value="<%=AAConfig.AAAAA_FLAG_SRCH%>"; action='<%=BBBSrvSite%>'; submit(); } } ="<%=AAConfig.AAAAA_FLAG_SRCH%>";この部分をどうすればよいのか・・すいませんが宜しくお願いいたします。